Python-图像

读取图片 并输出图片

import numpy as np
import cv2

#读入一张灰度图片
img=cv2.imread('lena.png',0)
#显示图片
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

image

cv2.waitKey() 是一个键盘绑定函数。需要指出的是它的时间尺度是毫
秒级。函数等待特定的几毫秒,看是否有键盘输入。特定的几毫秒之内,如果按下任意键,这个函数会返回按键的ASCII 码值,程序将会继续运行。如果没有键盘输入,返回值为-1,如果我们设置这个函数的参数为0,那它将会无限期的等待键盘输入。

cv2.destroyAllWindows() 可以轻易删除任何我们建立的窗口。如果
你想删除特定的窗口可以使用cv2.destroyWindow(),在括号内输入你想删除的窗口名。

建议:一种特殊的情况是,你也可以先创建一个窗口,之后再加载图像。这种情况下,你可以决定窗口是否可以调整大小。使用到的函数是cv2.namedWindow()。初始设定函数标签是cv2.WINDOW_AUTOSIZE。但是如果你把标签改成cv2.WINDOW_NORMAL,你就可以调整窗口大小了。当图像维度太大,或者要添加轨迹条时,调整窗口大小将会很有用

代码如下:

import numpy as np
import cv2

#读入一张灰度图片
img=cv2.imread('lena.png',0)
#显示图片
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

保存图像

cv2.imwrite('5-26.png',img)

下面的程序将会加载一个灰度图,显示图片,按下’s’键保存后退出,或者按下ESC 键退出不保存。

import numpy as np
import cv2

#读入一张灰度图片
img=cv2.imread('lena.png',0)
#显示图片
cv2.namedWindow('image', cv2.WINDOW_NORMAL)
cv2.imshow('image',img)
k = cv2.waitKey(0)
if k == 27: # wait for ESC key to exit
    cv2.destroyAllWindows()
elif k == ord('s'): # wait for 's' key to save and exit 
    # ord()把字母的ASCII码转出来
    cv2.imwrite('5-26.png',img)
    cv2.destroyAllWindows()

使用Matplotlib

Matplotib 是python 的一个绘图库,里头有各种各样的绘图方法。

import numpy as np
import cv2
from matplotlib import pyplot as plt

img=cv2.imread('1.jpg',0)
plt.imshow(img,cmap='gray',interpolation='bicubic')
plt.xticks([]),plt.yticks([]) # to hide tick values on X and Y axis
plt.show()

实验结果:
image

posted @ 2021-06-10 14:28  司砚章  阅读(114)  评论(0编辑  收藏  举报