使用Opencv的python接口简单读取并显示图片
来源:互联网 发布:mysql 如何使用 编辑:程序博客网 时间:2024/06/05 08:17
读取图片并显示
#-*-coding:utf-8-*-import cv2img_path = "./cat.59.jpg"img = cv2.imread(img_path)cv2.namedWindow("Cat")cv2.imshow("Cat",img) # 只使用imshow的时候,在IDLE窗口不会显示出图片。需要其后面接cv2.waitKey()配合使用。aa = cv2.waitKey(1000) # 显示1s,然后关闭显示。print aa ## 按下q,返回值113(q对应的ASCII码)cv2.destroyAllWindows() ## 关闭之前打开的窗口
opencv读取的图片格式为numpy.ndarray,shape为( H x W x C)。像素值取值范围为[0,255]
上面程序用到了几个函数,不了解的话可以查看API手册,函数说明如下:
int cv::waitKey( int delay=0)
当delay≤0时,函数会卡在这里,直到一个按键按下。且函数返回按键对应的ascii字符值,且关闭之前打开的图片显示窗口。当delay>0时,函数会在delay值对应的ms时间内接收一个按键值,然后返回按键对应的ascii字符值,若这段时间内无按键按下,则返回-1值。
void cv::namedWindow( const String & winname,int flags = WINDOW_AUTOSIZE )
namedWindow为图片创建一个占位符(placeholder),用来显示图像。默认显示原始大小的图像。你可以调用cv2.destroyWindow()或cv2.destroyAllWindows()来关闭窗口并取消任何关联的内存使用。 对于一个简单的程序,您并不需要调用这些函数,因为应用程序的所有资源和窗口在退出时都会被操作系统自动关闭。
void cv::imshow( const String & winname,InputArray mat )
在给定的窗口下显示图片。winname为窗口对应的字符串。默认显示原始大小的图像。关于imshow的注意:**只使用imshow的时候,在IDLE窗口不会显示出图片。需要其后面接cv2.waitKey()配合使用。**
此外,在ipython下,运行上面的程序会出问题,而将上面的代码保存为py文件,在python xx.py运行则没问题。
另外,还可以利用waitKey()函数来识别按键,实现一个功能:当检测到某个指定的按键按下的时候,关闭显示,比如说这个按键为’q’。
#-*-coding:utf-8-*-import cv2img_path = "./cat.59.jpg"img = cv2.imread(img_path)cv2.namedWindow("Cat")while True: cv2.imshow("Cat",img) if cv2.waitKey(1) & 0xFF == ord('q'): print("Done!") breakcv2.destroyAllWindows()
- 其中,cv2.waitKey(1) & 0xFF的作用是取返回值的最后一个字节。
- ord(‘q’)为字符q对应的整数值。
阅读全文
0 0
- 使用Opencv的python接口简单读取并显示图片
- TensorFlow与OpenCV,读取图片,进行简单操作并显示
- TensorFlow与OpenCV,读取图片,进行简单操作并显示
- TensorFlow与OpenCV,读取图片,进行简单操作并显示
- TensorFlow与OpenCV,读取图片,进行简单操作并显示
- python 使用opencv接口读取RGB图片出错解决
- OpenCV 中读取一张图片的像素点,并显示
- MFC 通过opencv 读取并显示图片
- OpenCV-001:读取图片并显示
- 最简单的openCV语言,读取和显示一张图片
- Python OpenCV 读取并显示图像
- python opencv 读取视频文件并显示
- 基于Qt与OpenCV的图片读取、保存,并利用Canny进行简单的边缘处理结果显示
- Opencv-Python :图片读取、保存、显示
- python 读取并显示图片的两种方法
- python 读取并显示图片的两种方法
- python 读取并显示图片的两种方法
- python 读取并显示图片的两种方法
- C# 集合(list)
- 去你妈的996
- Java测试题(含答案和部分解析)
- 总结-2017/12/10
- 从Kudu中导出、导入数据
- 使用Opencv的python接口简单读取并显示图片
- UnityShader初级篇——透明度测试
- 虚拟现实(VR)技术与伦理
- 线程1
- 面试记录
- 算法与数据结构基础(三)插入排序、选择排序和冒泡排序的区别
- 实现基于静态数组的顺序表的基本操作
- 代码理解json.dumps(config, sort_keys=True, indent=4, separators=(',', ':')
- 互联网产品常用英语单词