一、 图像处理基本操作
1. 读入图像
retval = cv2.imread(文件名[,显示控制参数])
常用显示控制参数
值 | 含义 | 数值 |
cv.IMREAD_UNCHANGED | 保持原格式不变 | -1 |
cv.IMREAD_GRAYSCALE | 将图像调整为单通道的灰度图像 | 0 |
cv.IMREAD_COLOR | 将图像调整为3通道的BGR图像。该值是默认值 | 1 |

示例:
#例1.1 使用CV2.imread函数读取一副图像
import cv2
lena=cv2.imread("tz.jpg",-1)#图像放在工程目录中
i=cv2.imread("C:\\Users\\mac\\Desktop\\tz.jpg")
print(lena)
1. 显示图像
namedWindow函数
None = cv2.namedWindow(winname)示例:
Cv2. namedWindow(“lesson”)#创建一个名为lesson的窗口
Imshow函数
None = cv2.imshow(窗口名,图像名)cv2.imshow(“demo”,image)#例1.2在一个窗口内显示读取的图像
import cv2
tz=cv2.imread("tz.jpg")
cv2.namedWindow("tanzhong")
cv2.imshow("tanzhong",tz)
cv2.waitKey()#不加此句会出现闪退
waitKey函数
retval = cv2.waitKey([, delay]) delay:
delay>0 等待delay毫秒delay<0 等待键盘单击delay=0 无限等待
示例: cv2.waitKey(0)
#例1.3在一个窗口内显示图像,并针对按下的不同按键做出不同的反应。
import cv2
a=cv2.imread("tz.jpg")
cv2.imshow("demo",a)
key=cv2.waitKey()
if key==ord('A'):
cv2.imshow("PressA",a)
cv2.waitKey()
if key==ord('B'):
cv2.imshow("PressB",a)
cv2.waitKey()
例1.4:在一个窗口内显示图像,用函数cv2.waitKey()实现程序暂停,在按下键盘的按键后让程序继续运行。
import cv2
a=cv2.imread("tz.jpg")
cv2.imshow("demo",a)
key=cv2.waitKey()
if key!=-1:
print("触发了按键")
destoryWindow函数
功能:释放指定窗口
语法格式:None=cv2.destroyWindow("demo")
#1.5编写一个程序,演示如何使用cv2.destroyWindow()函数释放窗口
import cv2
a=cv2.imread("tz.jpg")
cv2.imshow("demo",a)
cv2.waitKey()
cv2.destroyWindow("demo")
destoryAllWindow函数
语法格式:None=cv2.destroyAllWindows()
#1.6编写一个程序,演示如何使用函数cv2.destroyAllWindows()释放所有窗口
import cv2
a=cv2.imread("tz.jpg")
cv2.imshow("demo1",a)
cv2.imshow("demo2",a)
cv2.waitKey()
cv2.destroyAllWindows()
2. 保存图像
retval=cv2.imwrite(文件地址,文件名)示例:
cv2.imwrite(‘D:\\test.jpg',img)
#1.7编写一个程序,将读取的图像保存在当前目录下。
import cv2
a=cv2.imread("tz.jpg")
cv2.imwrite("yzj.bmp",a)
综合项目:图像读入、显示与保存
import cv2
i=cv2.imread("C:\\Users\\mac\\Desktop\\tz.jpg")
cv2.imshow("demo",i)
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.imwrite("C:\\Users\\mac\\Desktop\\tz111.jpg",i)

