蒙太奇图片代码+说明(*小白专用,三分钟内完成*)
蒙太奇图片代码+说明(小白专用,三分钟内完成)
**
本文提供的代码转自https://blog.csdn.net/weixin_44857688/article/details/107772751
,只对代码做使用说明,小白专用,大佬勿进。
傻瓜式蒙太奇图片处理,只要按着操作做一定不会出现问题。
三分钟内完成
'''
蒙太奇拼图
'''
'''
程序移植说明:
1在d盘建立mtq文件夹
2在文件夹中分别新建picuture和save文件夹
3将需要转换的主图直接放入d:/mtq目录下,并命名为1.jpg
4将组成蒙太奇大图的小图放入picture文件夹下
5运行此程序
注:运行环境py3.8+opencv2'''
import cv2 as cv
import osn = 1# 预处理填充图片
def before_handle_imgs():print("正在预处理填充图片:")readPath = "d:/mtq/picture/"savePath = "d:/mtq/save/"files = os.listdir(readPath)for file in files:imgPath = readPath + "\\" + fileimg = cv.imread(imgPath)img = cv.resize(img, (160, 90))cv.imwrite(savePath + "\\" + file, img)print("预处理填充图片已完成!")# 预处理待填充图片
def before_handle_img():print("正在预处理待填充图片:")width, height = 25600*n, 14400*nreadPath = "d:/mtq/1.jpg"savePath = "d:/mtq/2.jpg"img = cv.imread(readPath)img = cv.resize(img, (width, height))cv.imwrite(savePath, img)print("预处理待填充图片已完成!")# 用字典存储每一图及其直方图
def build_index():print("正在计算各图片直方图:")readPath = "d:/mtq/save/"files = os.listdir(readPath)dist = {}for file in files:imgPath = readPath + "\\" + fileimg = cv.imread(imgPath)hist = []for i in range(3):ht = cv.calcHist([img], [i], None, [256], [0, 256])hist.append(ht)dist[file] = histprint("各图片直方图计算已完成!")return dist# 用最相近的图代替原图
def match_replace(dist):print("正在替换图片:")width, height = 25600 * n, 14400 * nimage = cv.imread("d:/mtq/2.jpg")for i in range(0, height, 90):for j in range(0, width, 160):img = image[i:i+90, j:j+160, 0:3]hist = []for k in range(3):ht = cv.calcHist([img], [k], None, [256], [0, 256])hist.append(ht)sim = 0.0for key in dist:match0 = cv.compareHist(hist[0], dist[key][0], cv.HISTCMP_CORREL)match1 = cv.compareHist(hist[1], dist[key][1], cv.HISTCMP_CORREL)match2 = cv.compareHist(hist[2], dist[key][2], cv.HISTCMP_CORREL)match = match0 + match1 + match2if match > sim:sim = matchrename = keyimage[i:i+90, j:j+160, 0:3] = cv.imread("d:/mtq/save/" + rename)cv.imwrite("d:/mtq/3.jpg", image)print("图片替换已完成!")# 混合图片
def mix_image():print("正在融合图片:")image1 = cv.imread("d:/mtq/3.jpg")image2 = cv.imread("d:/mtq/2.jpg")dst = cv.addWeighted(image1, 0.2, image2, 0.8, 3)cv.imwrite("d:/mtq/4.jpg", dst)print("图片融合已完成!")if __name__ == "__main__":before_handle_imgs()before_handle_img()dist = build_index()match_replace(dist)mix_image()
蒙太奇图片代码+说明(*小白专用,三分钟内完成*)相关推荐
- Android怎么禁用底部键,在三分钟内完全禁用并隐藏Android设备底部的虚拟按钮(适用于测试)...
Android设备屏幕的底部通常有一个虚拟导航栏,带有诸如后退和主页之类的按钮. 尽管android系统的许多版本现在都提供了暂时隐藏底部导航栏的功能,但对于某些需要完全禁用虚拟按钮的应用程序而言,暂 ...
- 如何在开源社区贡献代码_如何在15分钟内从浏览器获得您的第一个开源贡献
如何在开源社区贡献代码 Matt Mullenweg, founder of Automattic, recently offered this advice to aspiring develope ...
- 步步为营 .NET 代码重构学习笔记 三、内联方法(Inline Method)
一.Inline Method 概述 一个函数,其本体(method body)应该与其名称(method name)同样清楚易懂. 动机(Motivation) 以简短的函数表现动作意图,这样会使 ...
- AI设计 | 如何让零基础小白在3分钟内利用AI人工智能设计Logo?
作为一个缺乏基础知识的初学者,你或许会认为Logo设计很难.但是,AI人工智能这个神奇的工具可以帮助你轻松地设计出自己的Logo,让整个过程变得愉快且简单.只要按照我的步骤并跟随我,你可以成为一位杰出 ...
- 势如破竹!ZOS首日上线三分钟内涨幅超过30%
继比特币比萨节后,原本喧嚣币圈随着比特币在8000美金来回震荡之中回归价值理性思考,5月23日,主流货币持续震荡阴跌,潜力币种如ZOS,却势如破竹,稳定冲击交易榜首,给币圈牛市的开启打下了一针强心剂. ...
- 虚拟服务器万兆网卡怎么用,万兆网卡三分钟,教你成为英特尔网卡专家
万兆网卡三分钟,教你成为英特尔网卡专家 作为全球最知名的网络设备供应商,英特尔网卡对IT业人士来说可谓家喻户晓.提起英特尔网卡大家都有许多话要说,而议论最多的就是英特尔网卡的系列和型号,我们在这里简单 ...
- 电脑PHP动画制作画板,三分钟HTML5画布(Canvas)动画教程
此文下面的教程中将使用的是另外一个叫做kinetic的Web动画工具包. 它们都是开源的. 把鼠标放到上面的小丑脸上,然后移开,就会有如下效果. 第一步,画五官 这个小丑没有耳朵和眉毛,所以只剩下三官 ...
- 手机三分钟调出INS最火青橙色调
青橙色调在ins上是很受欢迎的,虽然现在都烂大街了,感觉到平平无奇. 但是这种配色很适合夏日风光,以及带有天空,水元素之类的图片,今天就用三分钟的时间,妥妥教会你. 一分钟下软件 我们今天要使用的软件 ...
- 三分钟了解JVM的垃圾回收和三色标记
今天,我争取用三分钟,说清楚JVM中的垃圾回收和三色标记,倒计时,开始. 什么是垃圾 垃圾的定义 垃圾,在我们日常生活中,就是使用过后不再需要的东西.并且随着时间的推移,你产生的垃圾会越来越多.怎么清 ...
最新文章
- UI培训教程之系统图标如何设计?
- 如何设置Winform控件的ClientRectangle
- [AH2017/HNOI2017]礼物
- GCD - Extreme(欧拉函数变形)
- zynq阅读文档之通过中断读GPIO输入的编程指导
- android遥控器用什么测试,Android编程调用红外线遥控功能示例
- 大数据分析有几种方法
- Promise 的 9 个提示
- Android【报错】xxx cannot be resolved to a type 错误解决方法
- .Net Core Linux centos7行—.net core json 配置文件
- Spring3.0_调试错误集
- Mac OS开启黑暗模式
- 盘点微信的前世今生,微信成功的必然和偶然
- ArcGIS Engine开发的汉化小技巧-来自arcchen和记忆De残骸
- 程序员薪酬高达 462 万元:是怎么回事?
- 2020年2月26日训练日记
- 实时监控一个区块链某地址的实现方案
- 计算机一个远程控制用户怎么回事,电脑不能被远程控制怎么办
- 最新《微专业Android安卓开发工程师课程》
- FITC/TRITC/ICG/CY3/CY5/CY7/CY7.5荧光标记的Chondroitin-Sulfate硫酸软骨素、多糖、蛋白、多肽、氨基酸、药物、抗体
热门文章
- 基于stm32单片机体重秤电子秤超重提醒
- jquery.media.js 插件实现在线预览PDF文件
- DCCI发布Q1外卖报告 美团外卖市场份额持续增长至64.6%
- 【沁恒WCH CH32V307V-R1的单线半双工模式串口通讯】
- 一文读懂:2022年小微企业如何享受增值税留抵退税政策
- 计算机动画制作初步视频,计算机动画制作初步
- Python要如何实现列表排序的几种方法
- python 爬虫 贪婪算法和非贪婪算法 match()
- gitlib怎么将远程仓库同步到本地
- 年休假、婚丧假、产假、病假、事假分别有多少天?你必须懂!