实验软件
Python、OpenCV、NumPy
1.获取实验用图像:SuYiMing.jpeg.使用OpenCV的imread函数将图像读入,将图像转为灰度图像后另存为Lena.jpg文件,显示原图和灰度图。
2. 将lena.bmp.图像文件读入,在其左上角添加文字“OpenCV on Lena”, 显示运算前后图像。
3. 将A.bmp和B.bmp图像进行相减,显示运算前后图像,并分析其中颜色变化的原因。
4. 对lena.bmp图像做水平镜像,显示运算前后图像。
5. 将lena.bmp图像放大4倍,显示运算前后图像。
%实验1:图像的打开、保存、显示
import cv2
import numpy as np
if __name__ == "__main__":
img_path="SuYiMing.jpg"
img = cv2.imread(img_path)
#获取图片的宽和高
width,height = img.shape[:2][::-1]
#将图片缩小便于显示观看
img_resize=cv2.resize(img,(int(width*0.5),int(height*0.5)),interpolation=cv2.INTER_CUBIC)
cv2.imshow("img",img_resize)
print("img_reisze shape:{}".format(np.shape(img_resize)))
#将图片转为灰度图
img_gray = cv2.cvtColor(img_resize,cv2.COLOR_RGB2GRAY)
cv2.imwrite("Lena.jpg",img_gray)
cv2.imshow("img_gray",img_gray)
print("img_gray shape:{}".format(np.shape(img_gray)))
cv2.waitKey()
%实验2:图像上添加文字
from PIL import Image, ImageDraw, ImageFont
im02 = Image.open("lena.bmp")
draw = ImageDraw.Draw(im02)
ft = ImageFont.truetype("C:\\Windows\\Fonts\\simsun.ttc", 40)
draw.text((30,30), u"OpenCV on Lena",font=ft, fill='black')
im02.show()
%实验3:图像的减法运算
import cv2
img1=cv2.imread("A.bmp",flags=cv2.IMREAD_COLOR)
img2=cv2.imread("B.bmp",flags=cv2.IMREAD_COLOR)
cv2.imshow('A',img1)
cv2.imshow('B',img2)
sub=cv2.subtract(img1,img2)
cv2.imshow('sub',sub)
cv2.waiKey(0)
cv2.destroyALLWindows()
%实验4:图像的水平镜像
import cv2
img=cv2.imread(“lena.bmp”,flags=cv2.IMREAD_COLOR)
cv2.imshow(‘lena’,img)
f=cv2.flip(img,1)# 水平翻转
#f2 = cv2.flip(img, 0) # 垂直翻转
#f3 = cv2.flip(img, -1) # 水平垂直翻转
cv2.imshow(‘flip’,f)
cv2.waitKey(0)
cv2.destroyALLWindows()
%实验5:图像的缩放
import cv2
img=cv2.imread(“lena.bmp”,flags=cv2.IMREAD_COLOR)
cv2.imshow(‘lena’,img)
Res=cv2.resize(img,None,fx=4,fy=4,interpolation=cv2.INTER_CUBIC)
Cv2.imshow(‘res’,res)
Cv2.waitKey(0)
Cv2.destroyALLWindows()
实验二的结果:
实验三的结果:
实验四的结果:
实验五的结果:
1.csdn下载
2.百度网盘下载链接:https://pan.baidu.com/s/1KzEQdSirWtY07A2flk77NQ
提取码:3q6q
下一篇:计算机视觉 实验二 图像增强