Opencv-python生成幻影坦克
原理上参考了这篇博客https://blog.csdn.net/m0_46555380/article/details/114301348
原博为C#写的,这里使用了Python,opencv-python的版本为3.4.2.16
# 参考:https://blog.csdn.net/m0_46555380/article/details/114301348
# 当一个像素为白色背景时, 能够显示出一个特定的颜色 x , 当黑色背景时, 显示出 y
# 设: 颜色 x 的亮度为 xc, 颜色 y 的亮度为 yc, 这个像素的亮度为 zc, 不透明度为 za, 则满足:
# xc = za * zc + (1 - za)
# yc = za * zc
# 最终:
# zc = yc / za za = yc - xc + 1
# 考虑 ARGB通道值为0 ~ 255
# zc = yc / (za / 255) = yc * 255 / za
# za = yc - xc + 255
# 需要满足条件 xc >= ycimport cv2def xc_max_than_yc(xc, yc, color_ratio=0.5):"""令 xc > yc"""threshold = 255 * color_ratioxc = (xc / 255) * (255 - threshold) + thresholdyc = (yc / 255) * thresholdreturn xc, ycdef create_Mtank(white, black):"""生成幻影坦克,条件是白底图的每个像素值大于黑底图的每个像素值"""za = black - white + 255zc = black.copy()idx = black != 0zc[idx] = black[idx] * 255 / za[idx]img = cv2.merge((zc, zc, zc, za))return imgwhite_path = "./img/1.jpg" # 白底图
black_path = "./img/2.jpg" # 黑底图
img_false = cv2.imread(white_path, 0)
img_true = cv2.imread(black_path, 0)
x, y = img_true.shape
img_false = cv2.resize(img_false, (y, x))
xc, yc = xc_max_than_yc(img_false, img_true)
cv2.imwrite("result.png", create_Mtank(xc, yc))
Opencv-python生成幻影坦克相关推荐
- 写了个手机生成幻影坦克的APP——幻影坦克工厂
写了个手机生成幻影坦克的APP--幻影坦克工厂 前几天在B站看到个视频讲幻影坦克原理的,看了一下好像还没有这种手机APP,大家都是用Python写的,感觉很不方便啊,于是一时兴起学了学Android开 ...
- Python - 批量生成幻影坦克图片
目录 一.准备图片 二.Python+PIL代码实现过程 三.完整代码文件 说到幻影坦克,我就想起红色警戒里的-- 幻影坦克(Mirage Tank),<红色警戒2>以及<尤里的复仇 ...
- python批量生成图片并保存_Python批量生成幻影坦克图片实例代码
前言 说到幻影坦克,我就想起红色警戒里的-- 幻影坦克(Mirage Tank),<红色警戒2>以及<尤里的复仇>中盟军的一款伪装坦克,盟军王牌坦克之一.是爱因斯坦在德国黑森林 ...
- python实现“幻影坦克”效果(点开图片是隐藏的另一张图)【详解】
开篇先附上实验成果.下图点击后会显示另一张图片,若不能正常显示,请另存到本地后,用QQ发送消息后打开,手机QQ效果最佳(具体原因后面会解释). 下面我们先从原理说起,在PS中有三种算法如 ...
- opencv python 生成画布_用Python做自己的2020专属Flag动图
2020年的开头并不顺利,有不少朋友希望能够重启2020.然而时光不可倒流,我们都应该学会积极的向前看. 我们可以给自己的2020年立下Flag,或者说给自己在这剩下的11个月里定下小目标,并不断为之 ...
- opencv python 生成画布_第16章 坚持一百秒(《Python趣味创意编程》教学视频)
(图书介绍:童晶:<Python趣味创意编程>新书预告) 本章我们将实现坚持一百秒的游戏,玩家通过移动人脸控制飞碟躲避越来越多的反弹子弹,效果如图所示.首先利用面向对象的知识,实现了一个鼠 ...
- 基于OpenCV实现的灰度图幻影坦克
对于png透明图片,在QQ,贴吧等平台上,看缩略图时默认是以白色为背景,而点开看原图时默认是以黑色为背景,基于此显示逻辑可以实现一种图像,看缩略图时是表图,看原图时是里图,这就是幻影坦克. 基于图像线 ...
- 使用OpenCV和Python生成视频条形码
使用OpenCV和Python生成视频条形码 1. 效果图 2. 原理 2.1 步骤 2.2 项目结构 3. 源码 参考 这篇博客将演示如何使用Python + OpenCV生成视频条形码. 生成视频 ...
- python可视化执行幻影坦克
from tkinter import *#导入tkinter from tkinter.filedialog import * import sys #sys模块包含了与Python解释器和它的环境 ...
最新文章
- Python 四大基本语法
- 算法----删除链表中的节点(Java)
- ActiveMQ 的客户端选项
- 线性期望(BUPT2015校赛.F)
- 高压断路器故障诊断的相关方法
- POJ1273 裸裸的网络流
- java char character_Java char 与 Character
- MATLAB 不能保存变量问题及解决办法
- 自动适配autolayout
- 真倒霉,前不久分區表錯誤把我數據全部搞沒了
- 新一代工业系统集成控制软件平台—CODESYS
- 骁龙888打开“新象限” ,专业相机和游戏机直呼不讲武德
- 辐射能量、辐照度、辐射亮度
- c语言随机迷宫生成,程序自动生成迷宫
- 11个非常炫酷的网页样式特效【附实现代码】
- UE4_虚幻引擎4多人联机基础知识和客户端服务器通信机制详解
- 电商平台开发你需要注意下面的几点!
- 全年精彩内容大盘点 | 虎年贺岁特辑
- [keil5]从AC5到AC6的转变
- https网络编程——DNS域名解析获取IP地址
热门文章
- 随笔:教育、兴趣 与 职业
- image_thumb
- 创业全攻略:从零到开具第一张发票
- Delphi 10.3.1 RIO官方下载
- 关于J2EE,J2SE,J2ME
- 在网上购物竟然也能和Python扯上关系!电脑上用自己写的程序购物?别说,QT实现还真挺简单(Python如何利用QT制作电脑的手机版拼多多)
- (转)Java开源CMS系统 一
- 机器学习与深度学习到底有什么区别
- CVPR2022:将X光图片用于垃圾分割,探索大规模智能垃圾分类
- c语言中哪个是错误的常量,以下所列的C语言常量中,错误的是__________ 。