图像边框的实现
图像边框设计的主要函数
cv.copyMakeBorder()——实现边框填充
主要参数如下:
- 参数一:源图像——如:读取的img
- 参数二——参数五分别是:上下左右边的宽度——单位:像素
- 参数六:边框类型:
- cv.BORDER_CONSTANT——cv.BORDER_REPLICATE——cv.BORDER_REFLECT——cv.BORDER_WRAP——cv.BORDER_REFLECT_101——cv.BORDER_TRANSPARENT——cv.BORDER_REFLECT101——cv.BORDER_DEFAULT——cv.BORDER_ISOLATED
- 参数七——只在边框类型选择borderType == BORDER_CONSTANT,才设置,意为边框值
边框类型的说明:
- BORDER_CONSTANT:意为添加指定颜色的边框——由value值确定:为list
- 其它参数:(可根据需要调制,不过一般前两个用的多一些)
代码实例
import cv2 as cv import numpy as np if __name__ == "__main__": img = cv.imread('./imag_in_save/open_class.png') cv.namedWindow('imag', cv.WINDOW_NORMAL) cv.resizeWindow('imag', 500, 500) img = cv.copyMakeBorder(img, 20, 20, 20, 20, cv.BORDER_CONSTANT, value=[2, 83, 13]) # 添加边框 cv.imshow('imag', img) cv.waitKey(0) cv.destroyAllWindows()
效果
图像混合的实现
图像混合实现的主要函数
cv.addWeighted()——实现图像的混合
它的工作原理采用的是一个简单权重公式:g(x)=(1"htmlcode">
import cv2 as cv import numpy as np if __name__ == "__main__": img1 = cv.imread(r'./2.png', 1) # 读取彩色图片 img2 = cv.imread(r'./3.png', 1) cv.namedWindow('imag', cv.WINDOW_NORMAL) # 窗体 img1 = img1[0: 200, 0: 400] # 截取图像的指定部分——因为图像混合需要等大的图像 img2 = img2[0: 200, 0: 400] img = cv.addWeighted(img1, 0.7, img2, 0.3, 0) # 混合图片——根据权重 while True: cv.imshow('imag', img) # 显示当前序列号图片 k = cv.waitKey(0) & 0xFF if k == 27: break cv.destroyAllWindows()
效果
小练习(产生类似幻灯片渐变的效果)
主要思路
- 首先准备好一系列等大的图片或者截取一系列相同大小的图片区域作为我们的图像数据
- 然后将图像信息,分别拼接到一个list列表中
- 然后,实现一张一张图片的显示,在交换的间隙,实现渐变的效果——也就是图像混合。
- 然后就可以欣赏了——不过效果的话,主要看设置的参数吧(当然因为没有渲染,可能还是有些僵硬)。
代码示例
我把主要注释放在代码中,边看边理解应该不难~
import cv2 as cv import numpy as np if __name__ == "__main__": img_list = [] # 创建一个空序列装准备显示的一系列图片 counts = 0 # 显示图片的序号 cv.namedWindow('imag', cv.WINDOW_NORMAL) # 窗体 cv.resizeWindow('imag', 500, 500) for i in range(2, 7): # 遍历图片,凭借到空数组中——一共5张 img = cv.imread(f'./imag_in_save/scr/{i}.png') # 用f""实现参数传入 img = img[0: 200, 0: 400] # 截取图像的指定部分——因为图像混合需要等大的图像 img_list.append(img) # 实现图片添加 while True: cv.imshow('imag', img_list[counts]) # 显示当前序列号图片 k = cv.waitKey(2000) & 0xFF counts += 1 # 循环下一张图片——0,1,2,3,4有效 if counts == 5: # 循环到最后一张图片后返回到第一张图片 counts = 0 for i in range(0, 10): k_f = cv.addWeighted(img_list[counts - 1], 1 - (i * 0.1), img_list[counts], i * 0.1, 0) # 做类似渐变的图像合成 # 实现两张(当前图片和接下来显示的图片)图片,不同权重的混合——由于照片权重改变来实现渐变 cv.imshow('imag', k_f) # 显示混合的图片 k = cv.waitKey(120) & 0xFF # 延时和按键读取 if k == 27: # ESC键 break if k == 27: break cv.destroyAllWindows()
效果(图片可能不是很明显,如有需要可以自己添置几张图片实现看看)
总结
风云阁资源网 Design By www.bgabc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
风云阁资源网 Design By www.bgabc.com
暂无评论...
更新日志
2024年11月20日
2024年11月20日
- 柏菲·珞叔作品集《金色大厅2》限量开盘母带ORMCD[低速原抓WAV+CUE]
- Gareth.T《sad songs(Explicit)》[320K/MP3][29.03MB]
- Gareth.T《sad songs(Explicit)》[FLAC/分轨][152.85MB]
- 证声音乐图书馆《海风摇曳·盛夏爵士曲》[320K/MP3][63.06MB]
- 龚玥《金装龚玥HQCD》头版限量[WAV分轨]
- 李小春《吻别》萨克斯演奏经典[原抓WAV+CUE]
- 齐秦《辉煌30年24K珍藏版》2CD[WAV+CUE]
- 证声音乐图书馆《海风摇曳·盛夏爵士曲》[FLAC/分轨][321.47MB]
- 群星 《世界经典汽车音乐》 [WAV分轨][1G]
- 冷漠.2011 《冷漠的爱DSD》[WAV+CUE][1.2G]
- 陈明《流金岁月精逊【中唱】【WAV+CUE】
- 群星《Jazz-Ladies1-2爵士女伶1-2》HQCD/2CD[原抓WAV+CUE]
- 群星《美女私房歌》(黑胶)[WAV分轨]
- 郑源.2009《试音天碟》24BIT-96KHZ[WAV+CUE][1.2G]
- 飞利浦试音碟 《环球群星监听录》SACD香港版[WAV+CUE][1.1G]