opencv 学习第二天 图片图像的基础操作
2016-11-12 18:22
225 查看
今天学习的目标
• 获取像素值并修改
• 获取图像的属性(信息)
• 图像的 ROI()
• 图像通道的拆分及合并
(1)像素获取及相关操作
#修改像素
#coding=utf-8
import cv2
import numpy as np
img=cv2.imread('./1.jpg', cv2.CV_LOAD_IMAGE_COLOR)
img2=img.copy()
#访问像素
px=img2[100,100];
print px
red= img2[100,100,0]
print red
#修改像素
x=20; while x<100: y=20; while y<100: #将图片的([120,120],[200,220])复制到([20,20],[100,100]) img2[x,y]=img[x+100,y+100]; y=y+1; x=x+1;
#保存图片
cv2.imwrite("./2.jpg", img2)
cv2.waitKey (0)
cv2.destroyAllWindows() (2)获取图像的属性(信息)
图像的属性包括:行,列,通道,图像数据类型,像素数目等。img.shape 可以获取图像的形状。他的返回值是一个包含行数,列数,通道数的元组。
#coding=utf-8
import cv2
import numpy as np
img=cv2.imread('./1.jpg', cv2.CV_LOAD_IMAGE_COLOR)
#大小
print img.shape
#像素个素
print img.size
#img.dtype 是图像的数据类型
print img.dtype
cv2.waitKey (0)
cv2.destroyAllWindows() (3)图像 ROI
#coding=utf-8
import cv2
import numpy as np
img=cv2.imread('./1.jpg', cv2.CV_LOAD_IMAGE_COLOR)
#对一幅图像的特定区域进行操作,ROI 也是使用 Numpy 索引来获得的
cut=img[100:150,100:200]
img[200:250,200:300]=cut
cv2.imwrite("./3.jpg", img)
cv2.waitKey (0)
cv2.destroyAllWindows() (4)图像通道的获取
• 获取像素值并修改
• 获取图像的属性(信息)
• 图像的 ROI()
• 图像通道的拆分及合并
(1)像素获取及相关操作
#访问像素px=img2[100,100];print pxred= img2[100,100,0]print red
#修改像素
x=20; while x<100: y=20; while y<100: #将图片的([120,120],[200,220])复制到([20,20],[100,100]) img2[x,y]=img[x+100,y+100]; y=y+1; x=x+1;整体代码:
#coding=utf-8
import cv2
import numpy as np
img=cv2.imread('./1.jpg', cv2.CV_LOAD_IMAGE_COLOR)
img2=img.copy()
#访问像素
px=img2[100,100];
print px
red= img2[100,100,0]
print red
#修改像素
x=20; while x<100: y=20; while y<100: #将图片的([120,120],[200,220])复制到([20,20],[100,100]) img2[x,y]=img[x+100,y+100]; y=y+1; x=x+1;
#保存图片
cv2.imwrite("./2.jpg", img2)
cv2.waitKey (0)
cv2.destroyAllWindows() (2)获取图像的属性(信息)
图像的属性包括:行,列,通道,图像数据类型,像素数目等。img.shape 可以获取图像的形状。他的返回值是一个包含行数,列数,通道数的元组。
#coding=utf-8
import cv2
import numpy as np
img=cv2.imread('./1.jpg', cv2.CV_LOAD_IMAGE_COLOR)
#大小
print img.shape
#像素个素
print img.size
#img.dtype 是图像的数据类型
print img.dtype
cv2.waitKey (0)
cv2.destroyAllWindows() (3)图像 ROI
#coding=utf-8
import cv2
import numpy as np
img=cv2.imread('./1.jpg', cv2.CV_LOAD_IMAGE_COLOR)
#对一幅图像的特定区域进行操作,ROI 也是使用 Numpy 索引来获得的
cut=img[100:150,100:200]
img[200:250,200:300]=cut
cv2.imwrite("./3.jpg", img)
cv2.waitKey (0)
cv2.destroyAllWindows() (4)图像通道的获取
#coding=utf-8 import cv2 import numpy as np img=cv2.imread('./1.jpg', cv2.CV_LOAD_IMAGE_COLOR) #访问b通道 b=img[:,:,0] print b[20,100] cv2.waitKey (0) cv2.destroyAllWindows()
相关文章推荐
- OpenCV学习笔记一:图像基础操作
- iOS-Opencv 基础学习四(对图片进行图像模糊处理blur、边缘处理Canny)
- 图像混合学习。运用加权函数,学习opencv基础操作
- OpenCV学习第三篇:图片的掩膜操作(实现图像的对比度调整)
- OpenCV学习笔记6-图像的基础操作
- OpenCV学习之图像操作
- 【学习opencv第六篇】图像的反转操作
- 基础学习笔记之opencv(9):Mat图像扫描
- Opencv2系列学习笔记1(图像的基本操作)
- Opencv (Opencv2)结合MFC学习数字图像处理---图片解码(1)
- OpenCV学习笔记(四)—矩阵和图像操作
- halcon学习基础-图像基本操作
- OpenCV学习之图像操作
- opencv 学习第二天 学习opencv(中文版)对一幅图片进行高斯平滑并缩小一半
- Opencv2系列学习笔记2_2(图像的其它操作)
- [学习opencv]图像腐蚀、膨胀、开闭操作
- 基础学习笔记之opencv(6):实现将图片生成视频
- 我的OpenCV学习笔记(三):利用操作像素完成简单的图像处理:加入椒盐噪声、图像翻转、改变对比度、图像锐化
- Opencv (Opencv2)结合MFC学习数字图像处理【2】---图片解码
- Opencv (Opencv2)结合MFC学习数字图像处理【3】---显示图片