opencv学习心得第二章

摘要:
Opencv操作核心1:在图像的基本操作之前获取像素值并修改像素的变化:importcv2#导入cv2模块img=cv2。imread(“a.jpg”)#读取图像cv2。imshow(“image”,img)#显示图像k=cv2。waitKey(0)&0xFF#等待键盘输入forjinrange(625):#通过for循环forjinrange查找图像的坐标(1024):#使用for循环查找图像的位置

opencv操作核心

1:图像的基础操作

获取像素值并且修改

改变像素之前:

opencv学习心得第二章第1张

import cv2#导入cv2模块
img = cv2.imread("a.jpg")#读取图片
cv2.imshow("image", img)#展示图片
k = cv2.waitKey(0)&0xFF#等待键盘输入
for i in range(625):#通过for循环找到图片的坐标
       for j in range(1024):#通过for循环找到图片的坐标
           print(i, j)输出i与j的值
           print(img[i, j])输出图像每个像素点的rgb值
           img[i, j] = [100, 25, 77]重新设置像素值
           print(img[i, j])输出像素值
print(img.size)  输出图像的像素个数
if k == ord("s"): 如果键盘上面按s
   cv2.imwrite("image-new.jpg",img)保存图像
   cv2.destroyAllWindows()关闭所有图像窗口

改变像素以后:

opencv学习心得第二章第2张

 2:获取图像属性

import cv2#导入模块
img = cv2.imread("a.jpg")#读取图片
print(img.shape)#图像的矩阵的行数和
print(img.size)#图像像素个数
print(img.dtype)

 3:改变BGR某一色道的数字

原图像

opencv学习心得第二章第3张

只显示B色道的像素值

import cv2 #导入cv2模块
img = cv2.imread("a.jpg")#读取图像
img[:, :, 1] = 0#将图片的G通道像素设置为0
img[:, :, 2 ] = 0#将图片的R通道像素设置为0
cv2.imshow("image", img)#显示图片
cv2.waitKey(0)

 opencv学习心得第二章第4张

只显示G色道像素值

import cv2#导入模块
img = cv2.imread("a.jpg")读取图片
img[:, :, 0] = 0#把图片的B色道像素值设置为0
img[:, :, 2 ] = 0#把图片的R色道像素值设置为0
cv2.imshow("image", img)#显示图片
cv2.waitKey(0)

opencv学习心得第二章第5张

只显示R色道像素值

import cv2导入模块
img = cv2.imread("a.jpg")#读取图片
img[:, :, 1] = 0#把图片的G通道像素值设置为0
img[:, :, 0] = 0#把图片的B通道像素值设置为0
cv2.imshow("image", img)#显示图片
cv2.waitKey(0)

 opencv学习心得第二章第6张

 图像的ROI

import cv2 #导入模块
img = cv2.imread("a.jpg")#读取图像
a = img[300:400, 300:400]#截取图像的一个区域
img[0:100, 0:100] = a #将截取的区域赋值给相同的一个新区域
cv2.imshow("image", img)#显示图片
cv2.waitKey(0)

 opencv学习心得第二章第7张

图像上面的算术运算

图像的混合

import cv2#导入模块
img1 = cv2.imread("c.jpg")#读取图像
img2 = cv2.imread("d.jpg")#读取图像

dst = cv2.addWeighted(img1,0.7,img2,0.3,0)#将两个图像叠加到一起

cv2.imshow("dst",dst)#显示图像
cv2.waitKey(0)

 img1图像

opencv学习心得第二章第8张

img2图像

opencv学习心得第二章第9张

两个图像的混合图像

opencv学习心得第二章第10张

免责声明:文章转载自《opencv学习心得第二章》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇oracle中导出表的结构和数据select的限制下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Java——BufferedImage对象

BufferedImage对象中最重要的两个组件是Raster与ColorModel,分别用于存储图像的像素数据和颜色数据。 1、Raster对象的作用与像素存储 BufferedImage支持从Raster对象中获取任意位置(x,y)点的像素值p(x,y) image.getRaster().getDataElements(x,y,width,heigh...

GDI+ 学习记录(28): 图像颜色的数据格式 PixelFormat

//指定位图颜色 var g,gbit: TGPGraphics; bit1,bit2: TGPBitmap; sb: TGPSolidBrush; begin //Self.Color := clWhite; g := TGPGraphics.Create(Canvas.Handle); sb := TGPSolidBrush.C...

ubuntu命令行转换图片像素大小

convert -resize 512x256 00433.png 00001.png 1.512和256之间是x(就是字母那个x),用' * '反而会报错 2.这个命令会按照原图的比例进行转换 3.若想直接转换成想要的像素,不管之前图片的长宽比,加个!:convert -resize 512x256! 00433.png 00001.png...

验证码识别,发票编号识别

update:排版 这个demo的初衷不是去识别验证码,是把验证的图像处理方式用到其他方面,车票,票据等。 这里最后做了一个发票编号识别的的案例: 地址:http://v.youku.com/v_show/id_XMTI1MzUxNDY3Ng==.html 源代码:https://github.com/ccccccmd/ReCapcha demo中包含一个...

高清屏概念解析与检测设备像素比的方法

前言 做移动端h5开发很久了,从开始入行到现在。很多知识和工具都是在用前辈留下的遗产,都没有深入的研究过原因,了解为什么要这么去做。 也许自己也是过了交给自己做什么就做什么的阶段了。在国庆节有一个大块的时间,把最近看到的知识总结一下,也算是对这方面的知识划上一个句号。想想着实把国庆节过成了劳动节,没办法,自己就是这样的一个人,“应该去做的,而且有能力做的...

iOS适配机型常用宏以及机型尺寸备注

关于物理和逻辑分辨率再整理一下,虽然并不关心太多的硬件原理,但是还是留个地方方便查阅吧。 1、代码 #pragma mark - 判断机型 /* 设备是否为iPhone4、iPhone4S (1)逻辑分辨率(point):320x480 (2)物理分辨率(pixel,像素):640x1136 (3)缩放因子 :@2x (4)PPI(像素密度):...