![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
基于opencv和python的智能图像处理
基于opencv和python的智能图像处理
发呆少女
这个作者很懒,什么都没留下…
展开
-
直方图均衡化
自定义直方图均衡化函数:原创 2020-08-19 11:43:25 · 352 阅读 · 0 评论 -
图像直方图
统计直方图信息hist=cv2.calcHist(image,channel,mask,histSize,range,accumulate)hist:返回一维列表数组,其元素是各个灰度级的像素个数。image:处理图像。[]括起来。channel:指定通道编号。[]括起来。mask:掩模。hitSize:全尺寸。[]括起来。range:像素值范围。accumulate:是否累加。import cv2 as cvimage = cv.imread('d:/exercise/lusi.jp原创 2020-07-28 16:42:38 · 211 阅读 · 0 评论 -
投影变换
投影变换矩阵计算函数cv2.getPerspectiveTransform(src,dst)src:原始图像坐标(42矩阵,32位浮点型)dst:目标图像坐标(42矩阵,32位浮点型)投影变换函数cv2.warpPerspective(src,M,dsize[,dst,flags,borderMode,borderValue])src:原始图像。M:变换矩阵。dsize:输出图像的尺寸大小。flags:插值方法。(可选)borderMode:边类型。(可选)borderValue:边界原创 2020-07-24 11:11:10 · 419 阅读 · 0 评论 -
重映射
重映射函数dst=cv2.remap(src,map1,map2,interpolation[,borderMode,borderValue])dst:目标图像。src:原始图像。map1:点(x,y)的一个映射或者点(x,y)的x值。map2:其值与map1的值有关。当map1表示(x,y)的一个映射时,map2为空。当map1表示点(x,y)的x值时,map2表示点(x,y)的y值。interpolation:插值方式。borderMode:边界模式。borderValue:边界值。注原创 2020-07-22 12:02:00 · 340 阅读 · 0 评论 -
仿射变换
仿射变换函数dst=cv2.warpAffine(src,M,dsize,flags,borderMode,borderValue)dst:仿射后的输出图像,类型与原始图像相同。src:原始图像。M:变换矩阵。dsize:输出图像的尺寸大小。flags:插值方法。(可选)borderMode:边类型。(可选)borderValue:边界值。(可选)平移import cv2 as cvimport numpy as np# 让图片向右上平移120像素image1 = cv.imre原创 2020-07-20 12:58:07 · 157 阅读 · 0 评论 -
色彩空间转换
色彩空间类型转换函数dst = cv2.cvtColor( src, code, [,dstCn] )dst:与输入值具有相同类型和深度的输出图像。src:原始输入图像。code:色彩空间转换码。dstCn:目标图像的通道数。色彩空间转换码转换码解释cv2.cvtColor_BGR2RGBBGR转RGBcv2.cvtColor_BGR2GRAYBGR转GRAYcv2.cvtColor_BGR2HSVBGR转HSVcv2.cvtColor_BGR2YC原创 2020-07-19 17:47:22 · 505 阅读 · 0 评论 -
图像的逻辑运算
按位与dst = cv2.bitwise_and ( src1 , src2 [ , mask ] )dst:与输入值具有相同大小的输出值src1:第一个输入值src2:第二个输入值mak:可选操作掩码# 构造掩模,使用按位与操作保留掩模内的图像。'''掩模:用选定的图像、图形或物体对待处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程。'''import numpy as npimport cv2 as cvimage1 = cv.imread("D:/exerci原创 2020-07-17 08:44:27 · 1313 阅读 · 0 评论 -
图像的像素乘法、除法运算
像素乘法运算result = np.dot (a , b) 函数:矩阵乘法当a * b大于255时:a * b = mod(a * b , 256)import numpy as np# 随机生成两个像素矩阵,并进行“np.dot()”的操作image1 = np.random.randint(0, 256, size=[3, 4], dtype=np.uint8)image2 = np.random.randint(0, 256, size=[4, 3], dtype=np.uint8)原创 2020-07-16 11:20:19 · 2487 阅读 · 0 评论 -
图像的像素加法、减法运算
随机生成灰度图像numpy.random.randint(a,b) :生成大于等于a,小于不等于b的随机整数。import cv2 as cvimport numpy as np# numpy.random.randint(a,b) 生成的随机数是大于等于a,小于不等于b的整数。imagegray = np.random.randint(0, 256, size=[256, 256], dtype=np.uint8)# 生成一张256*256大小的随机灰度图cv.imshow("imageg原创 2020-07-14 20:58:29 · 3461 阅读 · 0 评论 -
图像通道的基本操作
通道的拆分split(图像名):拆分图像通道。import cv2 as cvimage = cv.imread("D:\exercise\lusi.jpg") #读取图像b,g,r = cv.split(image)cv.imshow('b',b) #b窗口显示b通道图像cv.imshow('g',g) #g窗口显示g通道图像cv.imshow('r',r) #r窗口显示r通道图像cv.imshow('image',image) #image窗口显示原图像cv.waitKey()cv.原创 2020-07-12 14:20:52 · 477 阅读 · 0 评论 -
图像的读取、显示、保存
读取图像retval = cv2.imread ( filename [ , flags ] )retval : 存放函数返回值,其值是读取到的像素值。filename : 要读取图像的完整文件名。flags : 控制读取文件的类型。flag 值含义-1保留原格式0灰度图像1BGR图像(默认)2当载入的图像深度为16或者32位时,就返回其对应深度的图像,否则就转为8位图像4以任何可能的颜色格式读取图像8使用GDAL驱动程序加载图像原创 2020-07-12 13:45:55 · 339 阅读 · 0 评论 -
图像的基本表示方法
二值图像,灰度图像,彩色图像二值图像只含有黑色或白色的图像,白色部分用1表示,黑色部分用0表示。计算机使用一个比特位表示二值图像。灰度图像计算机将灰度处理为256个灰度级,即[0,255]。黑色用0表示,白色用255表示,其余的数值表示从黑到白的之间不同的灰度。计算机使用8位二进制表示灰度图像。彩色图像三个色彩通道:R(red 红色),G(Green 绿色),B(blue 蓝色)每个通道值的范围都在[0,255]之间,计算机使用三维数组来表示彩色图像。在RGB色彩空间中,图像通道的顺序是R原创 2020-07-12 12:15:34 · 1513 阅读 · 0 评论