
图像处理
文章平均质量分 51
测试
牛右刀薛面
Know-what and Know-how
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
安装stable-diffusion-webui时一直卡在Installling gfpgan的界面
出现这个问题的原因是,安装gfpgan涉及到国外的仓库,就算科学上网以后,在终端里面还是访问不到这个国外仓库,解决办法就只有手动安装,遇到一些pip安装不了的包都可以尝试去github上找到对应的包仓库进行手动安装。解决办法:手动安装gfpgan。原创 2023-05-24 22:32:08 · 8648 阅读 · 3 评论 -
图像处理-与,或等运算
文章目录1、与运算2、或运算3、非运算4、异或运算1、与运算与运算,与编程语言中的and有着相同的意义,1 and 1 = 1, 除此之外都为0。因此,该函数想表达的意思是,两幅规格相同的图片,相同位置的想素值做与运算。余下三个函数与此类似。void bitwise_and(InputArray src1, InputArray src2,OutputArray dst, InputArray mask=noArray()); 2、或运算void bitwise_or(InputArray sr原创 2022-03-20 09:22:58 · 1433 阅读 · 0 评论 -
图像处理-形态学运算
文章目录1、膨胀2、腐蚀3、闭运算4、 开运算5、具体代码6、实验总结1、膨胀首先使用的是opencv提供的getStructuringElement函数获取结构元素,分别设置结构元素为55 与 66 规格对二值化以后的lena图进行膨胀处理,因为是以白色为主进行膨胀,因此黑色部分随着结构元素的规格增大而减少,最终当结构元素大于一定值的时候,整张图片就变成白色的了。2、腐蚀使用了55与 66规格的结构元素,腐蚀运算则是与膨胀运算是一相反的操作过程,随着结构元素的规格增大,白色像素逐渐变少,最后整张图原创 2021-12-18 13:14:06 · 2411 阅读 · 1 评论 -
opencv-putText
文章目录1、函数2、函数源代码1、函数cv2.putText(image, text, (50,50 ), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)参数意义:字体放在哪张图片字体内容字体坐标字体类型字体大小字体颜色字体粗细2、函数源代码def putText(img, text, org, fontFace, fontScale, color, thickness=None, lineType=None, bottomLeftOr原创 2021-12-15 11:20:29 · 3212 阅读 · 0 评论 -
图像处理-图像减法
1、问题描述数字图像是由一个个像素组成,当两张图相减,就是对应位置像素相减,当然前提两图分辨率相等。今天数字图像处理布置了将两张图相减的作业。相减结果2、解决方案实验使用的是C++的opencv。使用absdiff(src1,src2,result)函数(subtract函数效果没有这个好)。#include <iostream>#include <opencv2/opencv.hpp>using namespace std;using namespace c原创 2021-10-19 20:17:56 · 5457 阅读 · 0 评论 -
PIL与opencv相互转换
1、P2CVdef P2CV(src): img = Image.open(src) #img.show() img = cv.cvtColor(np.asarray(img), cv.COLOR_RGB2BGR) cv.imshow("img", img) cv.waitKey()2、CV2Pdef CV2P(src): img = cv.imread(src) cv.imshow("img",img) cv.waitKey()原创 2021-12-11 16:30:00 · 2680 阅读 · 0 评论 -
Python批处理文件
文章目录1、问题描述2、解决方案3、具体代码1、问题描述是这样的,因为需要将一个文件夹里面的大量图片做同样的处理,处理函数已经写好了但是需要一次性读取所有的图片,然后逐一处理,这个时候如何一次性读取所有的文件是一个问题了。2、解决方案使用python的os库。3、具体代码def eachFile(filepath): list = [] #获取filepath目录下的所有文件名称 pathDir = os.listdir(filepath) for allDir原创 2021-12-12 23:05:35 · 807 阅读 · 0 评论 -
图像处理-提取红色
文章目录1、问题描述2、效果呈现3、思路3.1 HSV空间下提取3.2 使用掩膜与RGB三个通道分别做点乘3.3 使用图像与运算,比使用mask4、代码:1、问题描述使用opencv提取图像红色。2、效果呈现使用python提取红色总共遇到了三种,但是有效只有一种原图有效方法提取出的结果3、思路3.1 HSV空间下提取思路:让RGB图像转化为HSV空间下图像,使用红色图像所在阈值进行提取。结果:事实提取出来的是二值化图像,但是这里的二值化图像能够当成掩膜使用。3.2 使用掩膜与原创 2021-12-11 15:36:43 · 10273 阅读 · 13 评论 -
图像处理-自适应的二值化图像
文章目录1、问题描述2、效果展示3、具体代码4、运行结果1、问题描述在使用全局阈值可能会导致局部区域全黑,但是使用自适应阈值的二值化能够很好的避免这样的问题。使用opencv提供的adaptiveThreshold算法技能实现了。adaptiveThreshold算法的思想不是计算图像的全局阈值,而是计算图片的局部阈值,根据图像不同区域亮度分布,计算局部阈值,所以对于图像不同区域,能够计算不同阈值,因此又被称作自适应算法。2、效果展示同样是使用Lenna图来进行实验。左侧是使用固定阈值处理的二值化图原创 2021-12-09 13:43:58 · 1800 阅读 · 0 评论 -
图像处理-提取指定颜色
文章目录1、问题描述2、结果展示3、具体代码4、HSV颜色范围1、问题描述在处理一下问题的时候,需要题目目标图片的指定颜色,比如说,被红笔批改过的选择题内是对勾,还是打叉,还是别的什么方式,但总之我们需要提取红笔的痕迹,另外提取以后得到的红笔痕迹肯定是断开的,而且还有噪声,这个时候再结合图像处理的其他技术处理,供后续的问题处理得到更好的结果。2、结果展示3、具体代码def GetRed(img): """ 提取图中的红色部分 """ #转化为hsv空间原创 2021-11-30 20:43:28 · 2083 阅读 · 0 评论 -
图像处理-图像裁剪
1、问题描述有时在进行图像处理的时候,需要先对图像进行裁剪,如何进行裁剪,很简单。数字图像本质上还是矩阵,只用想着对矩阵做处理就行了。但是有一点必要理解,图像的长度是矩阵的列数,图像的宽度是矩阵的行数。所以说length=image.shape[1], width=image.shape[0]2、结果展示原图结果:3、具体代码import cv2 as cvdef ImShow(name,img): cv.imshow(name,img) cv.waitKey()原创 2021-11-24 17:31:01 · 4793 阅读 · 0 评论 -
图像处理-灰度图像转化为伪彩图像
文章目录1、问题描述2、效果如下3、具体代码1、问题描述什么是伪彩图像?我们看的天气预报,主持人解说背景图片就是伪彩图像,地里书上的很多图片,比如说水深,温度的图像,都是伪彩图像。为什么要有伪彩图像?是因为要让灰度图像看起来更加清楚,一张灰色的图像是几乎看不出来任何信息,但是卫星拍出来的图像都是灰度图像,所以这个时候将灰色图像转化为伪彩图像就非常的有必要。2、效果如下最左边那张图是伪平拍出来的原始灰度图像,右边两幅图是采用不同的手段转化出来的伪彩图像。3、具体代码使用opencv提供的app原创 2021-11-19 13:12:47 · 4181 阅读 · 0 评论 -
图像处理-HSL彩色图像均衡化
文章目录1、问题描述HSL空间下的图像,H(色相),色彩的基本属性,就是平常说的颜色名称,如红色,黄色等。S(饱和度),指的是色彩的纯度,饱和度越高代表色彩越纯。L(亮度)。那么,在对HSL空间下的彩色图片使用均值滤波如何处理呢?和我上一篇讲的RGB空间下的彩色图像的直方图均衡化处理类似。2、效果展示均值滤波处理前后的变化3、具体代码def HSV(image): Hls_Image = cv.cvtColor(image,cv.COLOR_BGR2HLS) H,L,原创 2021-11-19 12:57:02 · 2059 阅读 · 0 评论 -
图像处理-RGB彩色图像均衡化处理
1、问题描述使用直方图均衡化的手段可以增大图像的对比度,目前我们学到的都是在单通道的灰度图像处理。那么对于彩色图像该如何处理呢?实际上使用opencv提供的split方法将RGB图像分为R,G,B三个通道的图像,分别对每个通道下的图像进行直方图均衡化处理,再将处理好以后的图像使用merge函数合并。这样就是彩色图像的直方图均衡化处理了。2、效果展示2.1 均衡化前后直方图变换2.2 图像变化3、具体代码 def Split(image): B,G,R = cv.split(原创 2021-11-19 12:42:18 · 5458 阅读 · 3 评论 -
图像处理-图像边缘处理
1、Sobel锐化2、Laplacian锐化3、完整代码def EdgeProcess(image): Result1_x = cv.Sobel(image,ddepth=-1,dx=1,dy=0) Result1_y = cv.Sobel(image,ddepth=-1,dx=0,dy=1) #x方向一阶边缘 SobelResult_x = cv.convertScaleAbs(Result1_x) #y方向一阶边缘 SobelResult_y =原创 2021-11-11 08:38:45 · 2118 阅读 · 0 评论 -
图像处理-图像滤波
文章目录1、图像滤波2、各滤波特点2.1 均值滤波2.1.1原理2.1.2 优点2.1.3 缺点2.2 高斯滤波2.2.1 原理2.3中值滤波2.3.1 原理2.3.2 优点2.3.3缺点3、案例分析3.1 均值滤波3.1.1 代码3.1.2 blur3.2 高斯滤波3.2.1 代码3.2.2 GaussianBlur3.3 中值滤波3.3.1 代码3.3.2 medianBlur3.4 完整代码4、效果展示4.1 均值滤波4.2 高斯滤波4.3 中值滤波1、图像滤波所谓滤波,顾名思义,能够起到图像过滤原创 2021-11-10 10:26:09 · 7844 阅读 · 0 评论 -
图像处理-直方图均衡化
1、直方图均衡化1.1 什么是直方图均衡化直方图均衡化是将将图像中比较聚集的像素“打散”。1.2 为什么要进行直方图均衡化直方图均衡化的目的是采用映射关系,将图像中灰度值的范围扩大,增加原来两个灰度值之间的差值。比如说,灰度值120与121之间的差距不能通过肉眼观察出来,但是可以通过直方图均衡化将二者的差值扩大,就能分辨出来了。1.3 怎样进行直方图均衡化采用opencv提供的equalizeHist()方法。注意这里输入的图像为灰度图像。2、案例分析2.1 代码def Equaliza原创 2021-11-09 21:35:01 · 3004 阅读 · 2 评论 -
图像处理-图像尺寸变换
文章目录1、尺寸变换2、策略3、代码实现4、效果呈现1、尺寸变换图像的尺寸变换实际上就是改变图像的长和宽,实现图像的缩放,在OpenCV4提供了resize函数用于将图像修改成制定尺寸,修改的策略有最近邻插值法,双线性插值法等。2、策略标志参数简记作用INTER_NEAREST0最近邻插值INTER_LINEAR1双线性插值法INTER_CUBIC2双三次插值INTER_AREA3首选用于图像缩小,图像放大是与nearest类似INTER原创 2021-11-05 11:17:37 · 1560 阅读 · 0 评论 -
图像处理-绘制直方图
文章目录1、灰度直方图2、代码实现3、效果呈现1、灰度直方图本文使用的是pyplot中的hist方法绘制灰度图像的直方图,并将每个像素值的个数保存到Grayresult.txt文件下。2、代码实现def StaticGray(GrayImage): #使用hist方法绘制灰度直方图 #density设置为1时,直方图纵坐标为频率 #默认情况下为densirty=0,纵坐标为频数 plt.hist(GrayImage.ravel(),256,density=1)原创 2021-11-04 20:50:11 · 1036 阅读 · 0 评论 -
图像处理-图像拼接
文章目录1、问题描述2、解决方案3、代码实现4、效果呈现1、问题描述在使用opencv的imshow方法时,需要一次性展示较多图像。2、解决方案对于数字图像,本质上还是数组,因此为了达到图像拼接的效果,只用使用numpy自带的数组拼接函数即可,hstack(水平拼接),vstack(垂直拼接)。或者c_(水平拼接),r_(竖直拼接)。3、代码实现def gamma_transformation(image): c1 = 5 c2 = 5 c3 = 5 gamma1原创 2021-11-04 19:45:46 · 1584 阅读 · 0 评论 -
图像处理-伽玛变换
1、伽玛变换又叫做幂律变换,伽玛变换是一种图像增强的方法,伽玛变换的表达式S=C∗rγS = C*r^{\gamma}S=C∗rγ其中r为输入的灰度值,[0,1],C为灰度缩放系数,γ\gammaγ为伽玛因子大小,S为经过变换以后的灰度值,具体趋势如下图所示。图像来源2、代码实现def gamma_transformation(image): c1 = 5 c2 = 5 c3 = 5 gamma1 = 0.9 gamma2 = 1.8 gamma3原创 2021-11-04 19:38:08 · 4135 阅读 · 0 评论 -
(3)图像处理-图像属性shape,size,dtype
文章目录1、shape2、size3、dtype4、例子说明1、shape图像形状,行数,列数,通道数2、size图像大小,行数×\times×列数×\times×通道数3、dtype图像数据类型,通常为uint84、例子说明if __name__=='__main__': src = "./Image/Lenna.jpg" image = cv.imread(src) GrayImage = cv.cvtColor(image,cv.COLOR_BGR2GRAY)原创 2021-11-04 15:02:06 · 1930 阅读 · 0 评论 -
(3)图像处理-cv2一些函数记录
1、putTextcv2.putText(Img,'text',(50,50),cv2.FONT_HERSHEY_COMPLEX,6,(0,0,255),5)图片/需要打印的字符串/左下角坐标位置/字体样式/字体大小/字体颜色(BGR),字体粗细原创 2021-11-04 12:25:02 · 180 阅读 · 0 评论 -
[2] 图像处理之----二值化处理
1、什么是二值化处理我们都知道,图像是由矩阵构成,矩阵中每个点的RGB值都不一样,呈现出来的色彩不一样,最终整体呈现给我们的就是一张彩色的图像。所谓”二值化处理“就是将矩阵中每个点的RGB值(0,0,0)[黑色]或者(255,255,255)[白色]G(绿色)B(蓝色)三个颜色的组成,在我们的计算机世界中,我们所看到的颜色都是由RGB数值决定的,图像的位数通常是8位,所以每个颜色的取值也就在0-255取值(包含端点),也就是说,我们计算机的颜色取值范围是0-256256256。1、什么是灰度图像灰度图像指的是R=G=B,灰度图像只有256种取值可能。2、为什么要进行灰度化处理减少在图像处理过程中的计算量。将彩色图像灰度化处理以后可从起初的0-256256256缩小到0-255这256种情况,能够大大降低运原创 2021-08-16 14:16:38 · 2386 阅读 · 0 评论