![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机视觉
leetteel
西安交通大学硕士
展开
-
有限差分求导法
原创 2020-12-19 20:28:55 · 795 阅读 · 1 评论 -
module ‘cv2.cv2‘ has no attribute ‘xfeatures2d‘
报错原因:该算法已经申请专利,开源OpenCV没有版权,新的OpenCV去掉了这个算法。解决方法:卸掉目前的包,安装3.4.2.16版本pip uninstall opencv-pythonpip install opencv-python==3.4.2.16pip install opencv-contrib-python==3.4.2.16安装python3.7及以前的版本...原创 2020-12-19 09:21:56 · 102 阅读 · 1 评论 -
计算机视觉(7)————特征检测(边缘/角/斑点)小专题(5)Canny检测
function [imgGray,imgCanny,gradm,jiaodu] = edge_canny(I,gaussDim,sigma,percentOfPixelsNotEdges,thresholdRatio)%% Gaussian smoothing filter.m = gaussDim(1);n = gaussDim(2);if mod(m,2) == 0 || mod(n,2) == 0 error('The dimensionality of Gaussian must原创 2020-12-08 15:48:56 · 232 阅读 · 0 评论 -
计算机视觉(7)————特征检测(边缘/角/斑点)小专题(6) 边缘连接
利用前面的方法检测出边缘点,但由于噪声、光照不均等因素的影响,获得边缘点有可能是不连续的,必须使用连接过程将边缘像素组合成有意义的边缘信息,以备后续处理。填充小的间隙可以简单地实现,通过搜索一个以某端点为中心的5×5或更大的邻域,在邻域中找出其它端点并填充上必要的边界像素,从而将它们连接起来。对具有许多边缘点的复杂场景,这种方法可能会对图像过度分割。为了避免过度的分割,可以规定:两个端点只有在边缘强度和走向相近的情况下才能连接。分析图像中每个点(x,y)的一个小邻域,根据梯度确定边缘像素的相似性。原创 2020-12-08 10:56:10 · 288 阅读 · 0 评论 -
计算机视觉(7)————特征检测(边缘/角/斑点)小专题(4)Sobel算子
1.原理Sobel算子的大小和 Prewitt算子的大小相同,都是3×3。Soble 算子的模板如下所示。2.代码set(0,'defaultfigurecolor','w')I=imread('cameraman.tif');figure(1)imshow(I)saveas(gcf,'原始图像','jpg')I=double(I);h1=[-1, 0, 1; -2, 0, 2; -1, 0, 1];I1=zeros(size(I,1),size(I,2));for i=1+1:si原创 2020-12-05 08:17:00 · 212 阅读 · 0 评论 -
计算机视觉(7)————特征检测(边缘/角/斑点)小专题(3)Prewit算子
1.原理对于复杂的图像,采用 Roberts 算子不能较好地得到图像的边缘,而需要采用更加复杂的 3×3的算子。下面介绍 Prewit 算子。Prewitt 算子的大小为 3×3,如下所示。2.代码set(0,'defaultfigurecolor','w')I=imread('cameraman.tif');figure(1)imshow(I)saveas(gcf,'原始图像','jpg')I=double(I);h1=[-1, -1, -1; 0, 0, 0; 1, 1, 1];原创 2020-12-04 21:49:40 · 715 阅读 · 0 评论 -
计算机视觉(7)————特征检测(边缘/角/斑点)小专题(2)Roberts 算子
对于离散的图像 f(x,y),边缘检测算子就是用图像的垂直和水平差分来逼近梯度算子,即∶Vf =(f(x,y)-f(x-1,y), f(x,y)-f(x,y-1))在进行边缘检测时,对于图像中的每个像素计算Vf,然后求绝对值,最后进行阈值操作就可以实现。Roberts 算子的计算公式为∶Roberts 算子由下面的两个模板组成∶set(0,'defaultfigurecolor','w')I=imread('lena.jpg');figure(1)imshow(I)I=double(rg原创 2020-12-04 20:57:38 · 1626 阅读 · 0 评论 -
计算机视觉(7)————特征检测(边缘/角/斑点)小专题(1)线段检测
前言边缘检测是检测图像特性发生变化的位置。不同的图像灰度不同,边界处会有明显的边缘,利用此特征可以分割图像。边缘检测分割法是通过检测出不同区域边界来进行分割的。边缘总是以强度突变的形式出现,可以定义为图像局部特性的不连续性,如灰度的突变和纹理结构的突变等。图像的边缘包含了物体形状的重要信息,它不仅在分析图像时大幅度地减少了要处理的信息量,而且还保护了目标的边界结构。边缘检测是利用物体和背景在某种图像特性上的差异来实现的。常见的边缘检测方法有微分算子、Canny 算子和LOG 算子等。常用的微分算子有 S原创 2020-12-04 20:21:12 · 543 阅读 · 0 评论 -
计算机视觉(5)————高斯滤波
set(0,'defaultfigurecolor','w')a=imread('爱因斯坦2.jpg');figure(1)subplot(4,4,1)imshow(a)title('Original')count=2;for L=[5,9,15,21,25]; for sima=[0.5,1,3] K=zeros(L,L); for x=-round(L/2):round(L/2) for y=-round(L/2):roun.原创 2020-12-01 15:52:17 · 182 阅读 · 0 评论 -
计算机视觉(4)————卷积和相关
卷积计算:function s=Convolution(A,B)s=0;m=size(A,1);n=size(B,1);for i=-floor(m/2):floor(m/2) for j=-floor(m/2):floor(m/2) s=s+A(floor(m/2)+1-i,floor(m/2)+1-j)*B(i+floor(m/2)+1,j+floor(m/2)+1); endend相关计算:function s=Crosscorrelation...原创 2020-12-01 14:44:10 · 176 阅读 · 0 评论 -
计算机视觉(3)————图像的降噪方法
目录***Noise reduction******降噪*****Mean filtering & Filter**1.平均滤波1.1平均滤波的基本原理1.2 平均滤波的基本过程Noise reduction• Nearby pixels are likely to belong to same object– thus likely to have similar color• Replace each pixel by average of neighbors降噪•附近的像素很可能属原创 2020-12-01 08:08:14 · 522 阅读 · 0 评论 -
计算机视觉(Python语言描述)(2)————Matplotlib库
目录1. 绘制图像2. 直方图3.交互式标注1. 绘制图像from PIL import Imagefrom matplotlib import pylab as pl# 读取图像到数组中im = pl.array(Image.open('empire.png'))# 绘制图像pl.imshow(im)pl.title('Plotting: "empire.jpg"')pl.axis('off')pl.show()2. 直方图from PIL import Imagefrom原创 2020-11-28 21:47:54 · 92 阅读 · 0 评论 -
计算机视觉(Python语言描述)(1)————PIL库
目录1.读取和保存2.改变文件格式3.创建缩略图4.复制和粘贴图像区域5.调整尺寸6.旋转1.读取和保存from PIL import Imageimport osprint(filelist)pil_im = Image.open('empire.jpg')pil_im.show()print(pil_im)pil_im = Image.open('empire.jpg').convert('L')pil_im.save("empirehuidu.jpg")pil_im.show()原创 2020-11-28 21:47:33 · 168 阅读 · 0 评论