【数字图像处理】实验一:图像基本操作(python) 您所在的位置:网站首页 二值图像处理的实验报告怎么写 【数字图像处理】实验一:图像基本操作(python)

【数字图像处理】实验一:图像基本操作(python)

2023-12-02 06:55| 来源: 网络整理| 查看: 265

实验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 实验室设备网 版权所有