数字图像处理
文章平均质量分 94
三分明月落
这个作者很懒,什么都没留下…
展开
-
OpenCV-Python-(1)-图像数字化
OpenCV简单入门 1.读取图片 imread()OpenCV目前支持读取bmp、jpg、png、tiff等常用格式。该方法有两个参数:第一个参数是我们所要读取图片的路径,第二个参数是图片读取的方式:IMREAD_ANYCOLOR 表示加载彩色图片(默认)IMREAD_GRAYSCALE以黑白方式加载图片IMREAD_UNCHANGED原图加载含alpha cha...原创 2018-11-12 21:50:49 · 1864 阅读 · 0 评论 -
Regularization正则化
正则项可以看做是损失函数的惩罚项,用来对损失函数中的系数做一些限制。常用正则化:L1正则化是一个相对常用的正则化方法。对于每个我们都向目标函数增加一个。L1正则化有一个有趣的性质,它会让权重向量在最优化的过程中变得稀疏(即非常接近0)。一般说来L2正则化都会比L1正则化效果好。L2正则化可能是最常用的正则化方法了。可以通过惩罚目标函数中所有参数的平方将其实现。即对于网络中的每个权重,向...转载 2019-03-24 19:24:09 · 1682 阅读 · 0 评论 -
Bit图片分层
numpy.binary_reprnumpy.binary_repr(num,width = None)将输入数字的二进制表示形式返回为字符串。对于负数,如果未给出宽度,则在前面添加减号。如果给定宽度,则返回该数字的二进制补码,相对于该宽度。在二进制补码系统中,负数由绝对值的二进制补码表示。这是在计算机上表示有符号整数的最常用方法[1]。A N位的二进制补码系统可以代表在范围内...原创 2019-03-14 16:29:57 · 835 阅读 · 0 评论 -
Python-OpenCV-(8)-鼠标事件
鼠标事件鼠标事件就是对鼠标的操作。用户通过鼠标对图像视窗最常见的操作,例如: 左键单击按下 左键单击抬起 左键按下拖动 鼠标指针位置移动可通过:import cv2events=[i for i in dir(cv2) if 'EVENT'in i]print events来查看OpenCV所有的鼠标事件。Event: EVENT...原创 2018-12-11 10:43:21 · 2710 阅读 · 2 评论 -
Python-OpenCV-基于GrabCut算法的交互式可选区域前景提取
翻译自:基于GrabCut算法的交互式前景提取理论:GrabCut算法由英国剑桥微软研究院的Carsten Rother,Vladimir Kolmogorov和Andrew Blake设计。从用户的角度来看它是如何工作的?最初用户在前景区域周围绘制一个矩形(前景区域应该完全在矩形内)。然后算法迭代地对其进行分段以获得最佳结果,完成。但在某些情况下,分割将不会很好,例如,它可能已将某些...原创 2018-12-07 17:29:18 · 3075 阅读 · 19 评论 -
OpenCV-Python-(7)-Trackbar轨迹栏目
原文:Trackbar as the Color Palette轨迹栏绑定到OpenCV窗口cv2.getTrackbarPos() cv2.createTrackbar()我们将创建一个简单的应用程序,显示您指定的颜色。您有一个显示颜色的窗口和三个轨道栏,用于指定B,G,R各颜色。您可以滑动轨迹栏并相应地窗口颜色更改。默认情况下,初始颜色将设置为黑色。cv2.getTrackba...原创 2018-12-07 22:23:44 · 1389 阅读 · 0 评论 -
Python-OpenCV-PS油画滤镜效果
油画滤镜算法描述:该算法有两个参数,一个是模板半径(radius),则模板尺寸是(radius * 2 + 1)*(radius * 2 + 1)大小(其实也可以偶数倍数无所谓的),也就是以当前像素为中心,向外扩展 radius 个像素的矩形区域作为一个搜索范围,我们暂时将它称为“模板”(实际上该算法并不是例如高斯模糊,自定滤镜那种标准模板法,仅仅是处理过程类似)。另一个参数是光滑度(smoo...原创 2018-12-04 16:42:28 · 5767 阅读 · 1 评论 -
Matlab&Python-WLS加权最小二乘滤波
最近看了论文Non-local Image Dehazing基于雾线的去雾算法。其中算法的滤波用的是weighted least square(WLS)算法,论文全称《Edge-Preserving Decompositions for Multi-Scale Tone and Detail Manipulation》,作者Z. Farbman等,发表在ACM SIGGRAPH 2007。...原创 2018-11-29 16:34:30 · 8422 阅读 · 1 评论 -
Python-OpenCV 从文件夹中批量读取图片
实现从文件夹批量读取图片并将图片裁剪为(128x128大小)import os.pathimport globimport cv2def convertjpg(jpgfile,outdir,width=128,height=128): src = cv2.imread(jpgfile, cv2.IMREAD_ANYCOLOR) try: ...原创 2018-11-21 21:35:07 · 31049 阅读 · 6 评论 -
Single Image Haze Removal Using Dark Channel Prior 论文阅读与代码实现
He 提出暗通道去雾方法进行了详细的描述,该方法以大气散射模型为基础,利用暗通道先验原理求出全球大气光成分A和透射率t。先使用了软抠图对透射率图进行优化,但是运算时间过长。后来使用引导滤波精细化透射率图,缩短了一部分运算时间。暗通道先验:在绝大多数非天空的局部区域里,某一些像素总会有至少一个RGB颜色通道具有很低的值。换言之,该区域光强度的最小值是个很小的数,值接近于0。实际生活中造成...原创 2018-10-24 17:10:24 · 4554 阅读 · 0 评论 -
OpenCV-Python-(6)-阈值分割
阈值分割目的是从灰度图像中分离出目标区域和背景区域,应该使得前景区的平均灰度、背景区灰度的平均值与整幅图的平均灰度之间的差异最大。图像的二值化使图像中数据量大为减少,从而能凸显出目标的轮廓。大于阈值得像素设为白色(255),小于&等于阈值得像素设为黑色(0)(也可以反过来)。retval, dst = cv2.threshold( src, thresh, maxval, ty...原创 2018-11-14 16:20:20 · 8638 阅读 · 4 评论 -
OpenCV-Python-(5)-图像平滑
图像平滑平滑处理smoothing也称模糊处理bluring,使用频率很高的图像处理方法。平滑处理的用途有很多,最常见的是用来减少图像上的噪点或者失真。在涉及到降低图像分辨率时,平滑处理是非常好用的方法。使用低通滤波器可以达到图像模糊的目的。cv2.blur(src, ksize[, dst[, anchor[, borderType]]]) ...原创 2018-11-13 22:14:25 · 1170 阅读 · 0 评论 -
OpenCV-Python-(4)-对比度增强
对比度增强cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate ]]) #图像直方图 cv2.normalize(src[, dst[, alpha[, beta[, norm_type[, dtype[, mask]]]]]]) → dst #直方图归一化 cv2.equalizeHist...原创 2018-11-13 20:19:54 · 32407 阅读 · 4 评论 -
OpenCV-Python-(3)-图像预处理
图像预处理:cv2.copyMakeBorder(src,top, bottom, left, right ,borderType,value) #边界填充 cv2.add() #相加 cv2.s...原创 2018-11-13 17:24:52 · 5769 阅读 · 0 评论 -
Opencv-Python-导向滤波&快速导向滤波
版本:Python:2.7.15 OpenCV:2.4.13导向滤波算法原理原理可以看博主:白马负金羁 的文章导向滤波(Guided Filter)的解析与实现,对原理解释十分通俗易懂。导向滤波:1.实现的伪代码:导向图像(Guidance Image) I,滤波输出图像(Filtering Input Image) p,均值平滑窗口半径 r,正则化参数 e。利用导向...原创 2018-11-07 22:31:38 · 8632 阅读 · 0 评论 -
OpenCV-Python-(2)-几何变换
图像变换:cv2.flip() # 图像翻转 cv2.resize() #图像尺寸变换 cv2.warpAffine() #图像仿射 cv2.getRotationMatrix2D() #取得旋转角度的Matrix cv2.GetAffineTransform(src, dst, mapMatrix) #取得图像仿射的matrix cv2.getPerspective...原创 2018-11-12 23:09:26 · 425 阅读 · 0 评论 -
OpenCV-Python-(9)-边缘检测
算法概述:主流的边缘检测方法为:Canny边缘检测。其主要步骤为:对图像进行降噪,常用高斯平滑 计算图像的梯度 对可能的边缘集合进行非极大值抑制 双阈值过滤筛选算法细节:图像降噪:梯度算子可以用于增强图像,本质上是通过增强边缘轮廓来实现的,也就是说是可以检测到边缘的。但是它们容易受噪声的影响。第一步就是想到要先去除噪声,因为噪声就是灰度变化很大的地方,所以容易被识别为伪...原创 2019-05-08 16:37:41 · 1043 阅读 · 0 评论