【数字图像处理】实验一:图像基本操作(python) | 您所在的位置:网站首页 › 二值图像处理的实验报告怎么写 › 【数字图像处理】实验一:图像基本操作(python) |
实验1.1:图像加载、显示
利用图像库的功能,实现从文件加载图像,并在窗口中进行显示的功能;利用常见的图像文件格式(.jpg; .png; .bmp; .gif)进行测试。 *这里是指gif格式的静态图片。 代码: import cv2 # 读取并显示图像 img = cv2.imread("images/c.gif") # 接着创建一个窗口 cv2.namedWindow("Image") # 显示图像 cv2.imshow("Image", img) # 等待按键用来展示图片 cv2.waitKey(0) # 释放窗口 cv2.destroyAllWindows() 实验1.2:图像合成•现有一张4通道透明图像a.png: –从其中提取出alpha通道并显示; –用alpha混合,为a.png替换一张新的背景(背景图自选); *注意两个图片的像素需要一致 a.png: 背景图d.jpg: 结果: 代码: # coding=utf-8 import numpy as np import cv2 #读入图像 img = cv2.imread("a.png", -1) # 将通道分离 b,g,r,a = cv2.split(img) #得到PNG图像的alpha通道,即alpha掩模 alpha = cv2.merge((a,a,a)) # 保存alpha图像 cv2.imwrite("alpha.jpg",alpha) # 显示alpha通道 cv2.imshow("alpha",alpha) cv2.waitKey(0) #背景图片 background = cv2.imread("d.jpg") #得到PNG图像前景部分,除去Alpha通道的部分 foreground = cv2.merge((b,g,r)) #因为下面要进行乘法运算故将数据类型设为float,防止溢出 foreground = foreground.astype(float) background = background.astype(float) #将alpha的值归一化在0-1之间,作为加权系数 alpha = alpha.astype(float)/255 #将前景和背景进行加权,每个像素的加权系数即为alpha掩模对应位置像素的值,前景部分为1,背景部分为0 foreground = cv2.multiply(alpha,foreground) background = cv2.multiply(1-alpha,background) outImage = foreground + background cv2.imwrite("outImage.jpg",outImage) cv2.imshow("outImg",outImage/255) # 等待按键用来展示图片 cv2.waitKey(0) # 释放窗口 cv2.destroyAllWindows()
|
CopyRight 2018-2019 实验室设备网 版权所有 |