OpenCv-Python 图像处理基本操作
来源:互联网 发布:软件架构设计之 编辑:程序博客网 时间:2024/05/23 11:21
1. 图片加载、显示和保存
import cv2img = cv2.imread("01.jpg")imgGrey = cv2.imread("01.jpg",0)cv2.imshow("img",img)cv2.imshow("imgGrey",imgGrey)cv2.waitKey()cv2.imwrite("Copy.jpg",img)
2. 图像显示窗口创建与销毁
cv2.namedWindow(窗口名,属性) 创建一个窗口
属性—指定窗口大小模式:
cv2.WINDOW_AUTOSIZE:根据图像大小自动创建大小cv2.WINDOW_NORMAL:窗口大小可调整
cv2.destoryAllWindows(窗口名) 删除任何建立的窗口
import cv2img = cv2.imread("01.jpg")cv2.namedWindow("img",cv2.WINDOW_NORMAL)cv2.imshow("img",img)cv2.waitKey()cv2.destroyAllWindows()
3. 图片宽、高、通道数获取
img.shape 返回图像高(图像矩阵的行数)、宽(图像矩阵的列数)和通道数3个属性组成的元组,若图像是非彩色图,则只返回高和宽组成的元组。
import cv2img = cv2.imread("01.jpg")imgGrey = cv2.imread("01.jpg",0)sp1 = img.shapesp2 = imgGrey.shapeprint sp1print sp2
4. 图像像素数目和图像数据类型获取
图像矩阵img的size属性和dtype分别对应图像的像素总数目和图像数据类型。一般情况下,图像的数据类型是uint8。
import cv2img = cv2.imread("01.jpg")imgSize = img.sizeprint imgSizety = img.dtypeprint ty
5. 生成指定大小的空图像
使用numpy.zeros()函数生成指定大小的空图像
import cv2import numpy as npimg = cv2.imread("01.jpg")imgZero = np.zeros(img.shape,np.uint8)imgFix = np.zeros((300,500,3),np.uint8)# imgFix = np.zeros((300,500),np.uint8)cv2.imshow("img",img)cv2.imshow("imgZero",imgZero)cv2.imshow("imgFix",imgFix)cv2.waitKey()
6. 访问和操作图像像素
OpenCV中图像矩阵的顺序是B、G、R。可以直接通过坐标位置访问和操作图像像素。
import cv2img = cv2.imread("01.jpg")numb = img[50,100]print numbimg[50,100] = (0,0,255)cv2.imshow("img",img)cv2.waitKey()
分开访问图像某一通道像素值也炒鸡方便:
import cv2img = cv2.imread("01.jpg")img[0:100,100:200,0] = 255img[100:200,200:300,1] = 255img[200:300,300:400,2] = 255cv2.imshow("img",img)cv2.waitKey()
嗯,不得不说Python是一个很神奇的存在。
Python中,更改图像某一矩形区域的像素值也很方便:
import cv2img = cv2.imread("01.jpg")img[0:50,1:100] = (0,0,255)cv2.imshow("img",img)cv2.waitKey()
7. 图像三通道分离和合并
分离图像通道可以使用cv2中的split函数,合并使用merge函数。
import cv2img = cv2.imread("01.jpg")b , g , r = cv2.split(img)# b = cv2.split(img)[0]# g = cv2.split(img)[1]# r = cv2.split(img)[2]merged = cv2.merge([b,g,r])cv2.imshow("Blue",b)cv2.imshow("Green",g)cv2.imshow("Red",r)cv2.imshow("Merged",merged)cv2.waitKey()
8. 在图像上输出文字
使用putText函数在图片上输出文字,函数原型:
putText(img, text, org, fontFace, fontScale, color, thickness=None, lineType=None, bottomLeftOrigin=None)
- img: 图像
- text:要输出的文本
- org: 文字的起点坐标
- fontFace: 字体
- fontScale: 字体大小
- color: 字体颜色
- thickness: 字图加粗
import cv2img = cv2.imread("01.jpg")cv2.putText(img,"Print some text to img",(100,100),cv2.FONT_HERSHEY_SIMPLEX,1,(0,0,255))cv2.imshow("img",img)cv2.waitKey()
9. 图像缩放
缩放使用cv2.resize()函数,resize函数里的size第一个是宽(列),第二个是高(行)。
import cv2img = cv2.imread("01.jpg")cv2.imshow("img",img)imgg = cv2.resize(img,(300,100))cv2.imshow("imgg",imgg)cv2.waitKey()
阅读全文
0 0
- Python-OpenCV 处理图像基本操作
- OpenCv-Python 图像处理基本操作
- opencv图像处理基本操作
- OPencv图像处理基本操作
- opencv图像处理基本操作
- Python-OpenCV 处理图像(一):基本操作
- Python-OpenCV 处理图像(一):基本操作
- Python-OpenCV 处理图像(一):基本操作 cv2
- Python用OpenCV 处理图像的基本操作
- opencv-图像处理1 图像基本操作
- Mac 下安装 Python-OpenCV Python-OpenCV 处理图像(一):基本操作
- 图像处理matlab+OpenCV基本操作
- python+opencv实操-图像基本操作
- opencv-python(5):图像基本操作
- [OpenCv]opencv中图像处理的一些基本操作
- opencv基本图像处理
- Python-Image 基本的图像处理操作
- Python-Image基本的图像处理操作
- Linux下软件安装的几种方式
- C++内存管理自我解惑
- Android Studio: JNI 使用小结
- Ubuntu 14.04下安装ns-2.35详细教程
- angularjs自定义过滤理解
- OpenCv-Python 图像处理基本操作
- maven:release:prepare报错Cannot run program "bash"
- perl实现verilog ifdef所在域的判断
- [Raspberrypi] 树莓派安装Ubuntu MATE
- ENet-论文笔记-理解
- Windows软件推荐
- 设置电脑锁屏壁纸
- [Raspberrypi] 树莓派 备份SD卡内容至镜像
- Python time mktime()方法