OpenCV-python
Xahoo!
这个作者很懒,什么都没留下…
展开
-
OpenCV(十二):图像核心操作之为图像的阈值
目标:简单阈值、自适应阈值、Otsu's二值化等函数:cv2.threshold cv2.adaptiveThreshold一、简单阈值解析:cv2.threshold;当像素高于阈值时,我们给这个像素赋予一个新值(可能是白色),否则我们就给它赋予另外一个颜色(颜色是黑色)。函数的第一个参数就是原图像,原图像这里应该是灰度图;第二个参数就是用来对像素值进行分类的阈值;第三个参数就是当像素值高于(低于)阈值时应该被赋予的新的像素值。第三个参数就是当像素值高于(低于)阈值时应该被赋予的新原创 2020-07-02 17:39:35 · 269 阅读 · 0 评论 -
OpenCV(十一):图像处理之颜色空间转化
颜色空间转化目的:学习如何对图像进行颜色空间转化,比如从 BGR 到灰度图,或者从BGR 到 HSV函数:cv2.cvtColor(),cv2.inRange()方法:转换颜色空间在OpenCV中有超过150种进行颜色空间转换的方法,最常见的有两种:BGR<-->GRAY(灰度) BGR<-->HCV函数:cv2.cvtColor(input_image, flag),其中 flag 就是转换类型。其中:对于 BGR<-->GRAY 的转换,.原创 2020-07-02 17:08:08 · 405 阅读 · 0 评论 -
OpenCV(十):图像核心操作之为图像上的算术运算
图像上的算术运算:加法 减法 位运算法函数:cv2.add() cv2.addWeighted()一、图像加法可以使用函数 cv2.add() , 将两副图像进行加法运算;当然也可以直接使用 Numpy,例如:res = img1+img2。这里要求两幅图像的大小、类型必须一致,或者第二个图像可以使一个简单的标量值。注意:OpenCV中的加法和Numpy中的加法是不一样的,OpenCV中的加法是一种饱和操作,而Numpy的加法是一种模操作。例如:import cv2import.原创 2020-07-02 16:53:09 · 326 阅读 · 0 评论 -
OpenCV(九):图像核心操作之为图像扩边(填充)
摘要:如果你想在图像周边创建一个 边,就像相框一样,你可以使用 cv2.copyMakeBorder()函数, 这经常在卷积运算和0填充时被用到。函数:cv2.copyMakeBorder()参数:src: 输入图像top bottom left right: 对应边界的像素数目borderType :要添加哪种类型的边界,类型如下: cv2.BORDER_CONSTANT : 添加有颜色的常数值边界,还需要下一个参数 (value) cv2.BORDE原创 2020-07-01 15:52:58 · 1399 阅读 · 0 评论 -
OpenCV(八):图像核心操作之拆分及合并图像通道
摘要:有时候我们需要对 BGR 三个通道分别进行操作,就是需要你把BGR 拆分成单个通道 B G R,这叫做拆分;有时候又需要把独立通道的图片合并成一个 BGR 图像,这叫做合并。拆分代码:import cv2import numpy as npimg = cv2.imread("tree.jpg")b, g, r = cv2.split(img) # 拆分print(b)'''[[219 219 219 ... 205 200 203] [219 219 21原创 2020-07-01 15:32:08 · 1018 阅读 · 0 评论 -
OpenCV(七):图像核心操作之获取图像属性
图像的属性包括:行、列、通道、图像数据类型、像素数目等。img = cv2.imread('tree.jpg')img.shape : 获取图像的形状;他的返回值是一个包含 行数,列数,通道数 的元组。 如果图像是灰度图,返回值就仅有 行数和列数,所以通过检查这个返回值就可以知道加载的是灰度图还是彩色图。img.size :返回图像的像素数目。img.dtype :返回的是图像的数据类型。代码:import cv2img ...原创 2020-07-01 14:36:14 · 407 阅读 · 0 评论 -
OpenCV(六):图像核心操作之获取、修改像素值
示例:img = cv2.imread('tree.jpg')print(img)效果展示:说明:可以根据像素的行和列的坐标来获取它的像素值。对于 BGR 图像来说,返回的值为 B G R 的值;对于灰度图来说,返回的是他的灰度值(也叫亮度值 intensity)获取、修改像素值:px = img[100,100]print(px)blue = img[100, 100, 0] # 可以用类似的方法修改像素值print(blue)img[100, 100原创 2020-06-30 17:12:09 · 570 阅读 · 0 评论 -
OpenCV(五):opencv-python之阶段小结
import cv2img = cv2.imread('tree.jpg', 0) # 灰度图cv2.imshow('image', img)k = cv2.waitKey(0) # 警告:如果你用的是 64 位系统,你需要将 k=cv2.waitKey(0) 这行改成 k=cv2.waitKey(0)&0xFF。# 经过测试 ,两者皆可# k = cv2.waitKey(0)&0xFFif k == 27: # wait for ESC key to e...原创 2020-06-30 16:11:56 · 228 阅读 · 0 评论 -
OpenCV(四):opencv-python之保存图像
代码:import cv2img = cv2.imread(r"tree.jpg", 0) # 一般alpha值取0~1之间,0即为灰色模式 ==cv2.IMREAD_GRAYSCALEcv2.namedWindow('image2', cv2.WINDOW_NORMAL) # 先创建窗口,再加载图片cv2.imshow('image2', img) # 加载cv2.waitKey(0)cv2.destroyAllWindows()# 保存图像在指定的路径下cv2.im原创 2020-06-30 16:03:20 · 509 阅读 · 0 评论 -
OpenCV(三):opencv-python之显示图像
函数:cv2.imshow() 显示图像,窗口会自动调节图像大小参数:第一个参数是窗口的名字;第二个参数是我们自定义的图像的名字,创建多个窗口需要给不同的名字。代码:import cv2img = cv2.imread(r"tree.jpg", 0)# 一般alpha值取0~1之间(0即为灰色模式==cv2.IMREAD_GRAYSCALE) cv2.imshow("image", img)cv2.waitKey(0)加载效果如下:上述函数 cv2.wait.原创 2020-06-30 15:54:09 · 2486 阅读 · 0 评论 -
OpenCV(二):opencv-python之加载图像
介绍:函数:cv2.imread()参数:第一位参数是图像相对或绝对路径;第二位参数是函数读取图像的方式。 方式有: cv2.IMREAD_COLOR: 读入一副彩色图像,图像的透明度会被忽略,这是默认参数,可以不写 cv2.IMREAD_GRAYSCALE: 以灰度模式读入图像 cv2.IMREAD_UNCHANGED: 读入一副图像,并且包括图像的 alpha 通道 ...原创 2020-06-30 15:26:57 · 331 阅读 · 0 评论 -
OpenCV(一):opencv-python的安装与测试
环境:Windows10+Python3.7+OpenCV 4.2.0下载安装:pip install opencv-python# 使用豆瓣源pip install opencv-python -i https://pypi.douban.com/simple测试:import cv2print(cv2.__version__)转载请注明转自:原创 2020-06-30 14:57:28 · 200 阅读 · 0 评论