计算机视觉实验1

目录

1.使用OpenCV库读取图像并实现可视化

 · 图片处理:读入图像

·图片处理:显示图像 

2.使用PIL库读取图片,并可视化显示 

3.使用OpenCV与PIL读取图片的比较

 4.使用thumbnail()方法和resize()方法缩略图像

5. 绘制图像的轮廓与直方图

 6.绘制灰度直方图以及直方图均衡化

 7.实现图像的灰度变换

8.高斯模糊 

 9.图像求导


1.使用OpenCV库读取图像并实现可视化

下面是一段简单的计算机视觉相关代码,通过下面这段代码可以简单实现读取图片以及实现可视化

import cv2
img=cv2.imread('path')#path指图片相关路径
cv2.imshow('Demo',img)
cv2.nameWindow('Demo')
cv2.waitKey(0)
cv2.destroyAllWindows()

我在网上找了两端代码,一个是上面这个,一个是下面的 

import cv2
image = cv2.imread("images/book.png")  	# 读取book.png文件
cv2.imshow("book", image)  				# 在名为book的窗口中显示book.png
print(cv2.waitKey()) 		 			# 窗口将一直显示图像,按任意键关闭窗口,并输出按键值
cv2.destroyAllWindows()  				# 销毁所有窗口

两段代码的区别是下面的这个少了一个cv2.nameWindow('Demo'),当我运行上面这段代码的时候,会出现nameWindow的报错,但是把这一句删去就不会报错,(对了还要把waitkey里面的0删掉,不然会报错) 

 · 图片处理:读入图像

image=cv2.imread(文件名相关路径[显示控制参数])

文件名相关路径就填写图片的完整路径,其中的控制参数包括:

cv.IMREAD_UNCHANGED :表示和原图像一致
cv.IMREAD_GRAYSCALE : 表示将原图像转化为灰色图像
cv.IMREAD_COLOR:表示将原图像转化为彩色图像

例:cv2.imread(‘d:\image.jpg’,cv.IMREAD_UNCHANGED)

·图片处理:显示图像 

None=cv2.imshow(窗口名,图像名)

例:cv2.imshow("demo",image)

但是还需要加上相关约束,否则显示的图像就会一闪而过,发生错误:

retval=cv2.waitKey([delay])

反正我是在这里直接为空

最后还需要显示cv2.destroyAllWindows()

把图像彻底从内存中删除

最终两端代码的运行:

import cv2
img=cv2.imread('D:/PycharmProjects/pythonProject/blackpink7.jpg')#path指图片相关路径
cv2.imshow('Demo',img)

cv2.waitKey()
cv2.destroyAllWindows()

 


import cv2
image = cv2.imread("D:/PycharmProjects/pythonProject/blackpink7.jpg")  	# 读取book.png文件
cv2.imshow("idol", image)  				# 在名为idol的窗口中显示blackpink7.jpg
print(cv2.waitKey()) 		 			# 窗口将一直显示图像,按任意键关闭窗口,并输出按键值
cv2.destroyAllWindows()  				# 销毁所有窗口

2.使用PIL库读取图片,并可视化显示 

from PIL import Image

im = Image.open('D:/PycharmProjects/pythonProject/blackpink7.jpg')
print(im.format, im.size, im.mode)
im.save('1-PIL.bmp')

这个可视化显示没有实现吧(应该?),它最后自己保存了一个1-PIL.bmp文件

啊哈解决了!加入一句im.show()就可以显示啦!

import matplotlib.pyplot as plt
from PIL import Image

im = Image.open('D:/PycharmProjects/pythonProject/blackpink7.jpg')
im.show()
print(im.format, im.size, im.mode)
im.save('1-PIL.bmp')

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值