OpenCV 广泛被应用在对目标进行辨识、测量、纪录等,并更进一步的进行影像处理!
由於 OpenCV 本身就有提供读取图片档的函数可用,读取一般的图片档时,只要呼叫 cv2.imread
即可将图片读取进来。
以 cv2.imread 读进来的资料,会储存成一个 NumPy 阵列
此 NumPy 阵列的前两个维度分别是图片的高度与宽度,第三个维度则是图片的 channel(RGB 彩色图片的 channel 是 3,灰阶图片则为 1)
import cv2
img = cv2.imread('image.jpg') #读取图片
print(type(img)) #查看资料型态
print(img.shape) #检查这个 NumPy 阵列的大小
图片读取进来之後,使用 OpenCV 所提供的 cv2.imshow
来显示图片
cv2.imshow 的第一个参数为欲定的视窗名称,第二个参数为要显示的图像~
cv2.imshow('My Image', img) #显示图片
#关闭所有视窗
cv2.waitKey(0)
cv2.destroyAllWindows()
#关闭指定视窗
cv2.destroyWindows('My Image')
cv2.waitKey 是用来等待与读取使用者按下按键而关闭图片视窗。
参数是等待时间(毫秒),若设为 0 就表示会等待使用者按下任何按键为止。
如果在程序中有许多的 OpenCV 视窗,而我们只要关闭
特定的视窗
时,可以改用cv2.destroyWindow
加上视窗名称,关闭指定的视窗。
图片来源: 朋友的狗狗愤怒吐舌瞬间><
注意视窗上的名称 My Image 是自己在cv2.imshow定的喔~
使用 OpenCV 的 cv2.imwrite
可以使用 opencv 内建的函数 cvtColor 将图片转为灰阶~
# 将图片转成灰阶
gray = cv2.cvtColor(img,cv2.COLOR_RGB2GRAY)
cv2.imwrite('My Image.jpg', gray) # 储存图档
假如原本的图是 jpg 档,也可以用cv2.imwrite
存为其他格式
# 写入不同图档格式
cv2.imwrite('My Image.png', img)
cv2.imwrite('My Image.tiff', img)
转成灰阶的狗勾!
<<: 深不可测的海 - Regular Expression
>>: Day6 Android - 元件使用(EditText->Button->TextView)
插播 本来预定今天要发布的文章延後了,今天要要来分享这一两天的踩雷心路历,花了一半天时间,连铁人都没...
在这第六世代的战争中、面对来势汹汹的 DC、SONY 当然也早就有准备、非常机歪的选在 DC 发售的...
虽然在昨天有说到今天希望可以改善 dashboard,然而我在做到一半的时候突然惊觉...现在根本就...
挑战目标: MockNative Camp前端 今天原本是要来refactor和解决hover的问题...
哎呀哎呀,开学後变得好忙阿,连一天写一篇的时间都没有,果然先预留点文章是对的。参赛前还以为30天很短...