当前位置: 首页 > wzjs >正文

那个网站教做菜做的好网易邮箱账号注册

那个网站教做菜做的好,网易邮箱账号注册,怎样注册一个网站做电商,建立网站例题数字图像处理作业 问题一 给定图像car.png和模版图像wheel.png,利用相关检测实现对car图像中的wheel检测,具有最大相关值的位置可以解释为所检测到的wheel位置 算法是利用相关匹配公式,但是原来的公式有一些问题,如果车轮匹配到…

数字图像处理作业

问题一

给定图像car.png和模版图像wheel.png,利用相关检测实现对car图像中的wheel检测,具有最大相关值的位置可以解释为所检测到的wheel位置

算法是利用相关匹配公式,但是原来的公式有一些问题,如果车轮匹配到一个各像素灰度值都较大的区域,可能会有较大的相应输出,得到错误结果。

因此我们对原来的相关公式进行改进,加入了一个归一化的方法。
G ( i , j ) = ∑ u = − k k ∑ v = − l l H ( u , v ) F ( i + u , j + v ) ∑ u = − k k ∑ v = − l l F 2 ( i − u . j − v ) G(i,j)=\frac{\sum^k_{u=-k}\sum^{l}_{v=-l}H(u,v)F(i+u,j+v)}{\sum^k_{u=-k}\sum^{l}_{v=-l}F^2(i-u.j-v)} G(i,j)=u=kkv=llF2(iu.jv)u=kkv=llH(u,v)F(i+u,j+v)
代码展示如下:

因为图像读取的时候默认是uint8的类型,但卷积操作一般结果不止这么大,所以需要将读取的图像数据类型转化成double类型,免得溢出。

% 转变成double类型的
image = double(imread('car.png'));
filter = double(imread('wheel.png'));

接着记录一些长宽和基础的信息,并对原图做padding

%获取图像的长度和宽度
M = size(image,1);
N = size(image,2);%获取匹配模版的长度和宽度
m=size(filter,1);
n=size(filter,2);
row_middle=(m-1)/2+1;
col_middle=(n-1)/2+1;%定义一个全0的矩阵和原来的图像大小一致
%为了让卷积操作结束后图像大小一致,因此需要先拓展图片。
Corr_image = zeros([M,N]);
pad_image = padarray(image, [(m-1)/2, (n-1)/2]);

然后计算累积的频次,然后除以总的像素数量乘上灰度数,得到映射的灰度值结果

cum = double(cum);
% 求累计概率,得到累计直方图
for i = 2 : 256cum(i) = (cum(i - 1) + cum(i));
endfor i = 1 : 256cum(i) = cum(i)/(R*C) * 255;
end% 映射
fy = double(fx);
for i = 1 : Rfor j = 1 : Cfy(i, j) = cum(fy(i, j) + 1);end
end

最后进行卷积操作。这里本来可以使用矩阵乘法的方法来求卷积,效率会更高。但这里因为想感受一下自己实现一遍卷积公式的过程,所以用了循环嵌套的方法。经过测试,效率比用矩阵乘法的要慢,但结果相同。代码如下:

%卷积操作
for i = (1+(m-1)/2):(M+(m-1)/2)for j = (1+(n-1)/2):(N+(n-1)/2)% 计算一个filter中的卷积和  此部分也可以换成矩阵的点乘形式corr_sum=0;normal_sum=0;for x = -(m-1)/2:(m-1)/2for y = -(n-1)/2:(n-1)/2corr_sum=corr_sum+pad_image(i+x,j+y)*filter(row_middle+x,col_middle+y); % 计算公式中的分子部分 卷积和normal_sum=normal_sum+pad_image(i+x,j+y); % 计算公式中的分母部分 归一化的和endendCorr_image(i-(m-1)/2,j-(n-1)/2)=corr_sum/normal_sum;end
end

在卷积运算后,我们需要对图像进行归一化,因为数值比较大,而且不好设定阈值,所以我们先找到最大值然后令每个元素除以最大值做到归一化的处理。

接着我们设定一个阈值,来选取和轮子相关性最大的点。这里经过测试当阈值为0.85左右的时候,可以检测出4个轮子,如果达到0.95左右只能检测两个轮子,0.98就只能检测出一个轮子,其中第三个轮子的相关值为1,是最大的,因为它和kernal模版完全相同。代码如下:

% 归一化矩阵 并找出阈值大于一定的点
Corr_image=Corr_image./max(max(Corr_image));
res=[];
for i =1+(m-1)/2:M-(m-1)/2for j = 1+(n-1)/2:N-(n-1)/2if Corr_image(i,j) >0.86% 对指向相同轮子的点进行去重flag=1;a=size(res,1);for index=1:aif sqrt((res(index,1)-i)^2+(res(index,2)-j)^2)<10flag=0;break;endendif flag==1res=[res;i,j];endwheel=image(i-(m-1):i+(m-1),j-(n-1):j+(n-1)); % 截取出轮子部分的图像imshow(wheel./max(max(wheel)));endend
end
问题二

第二个问题是:产生椒盐噪声图像,实现采用中值滤波。

产生椒盐噪声的方法如下:

f ( x , y ) = { 255 if  f 0 ( x , y ) > t 1 ( x , y ) 0 if  f 0 ( x , y ) < t 2 ( x , y ) f 0 ( x , y ) otherwise  f(x, y)= \begin{cases}255 & \text { if } f_0(x, y)>t_1(x, y) \\ 0 & \text { if } f_0(x, y)<t_2(x, y) \\ f_0(x, y) & \text { otherwise }\end{cases} f(x,y)= 2550f0(x,y) if f0(x,y)>t1(x,y) if f0(x,y)<t2(x,y) otherwise 

中值滤波就是用3*3的核在原图上做操作,取出核上9个元素的中值作为这个位置的值,起到平滑图像的效果。中值滤波比起均值滤波的在平滑图像上去除噪声的效果经常会更好。

下面进行代码分析:

用上面的公式生成椒盐噪声

% 生成椒盐噪声的图像
noise_image = image;
for i = 1:Mfor j = 1:Nif image(i,j) > t1(i,j)noise_image(i,j) = 255;elseif image(i,j) < t2(i,j)noise_image(i,j) = 0;elsenoise_image(i,j)=image(i,j);endend
end

使用遍历的方法进行中值滤波,每次遍历一个位置,然后用kernal选取9个格子的范围。一维化后进行排序,选取第五个元素作为中值的结果赋值给结果图像对应位置。

% 进行中值滤波操作
pad_image = padarray(noise_image, [(m-1)/2, (n-1)/2]);% 先对原来的图像进行padding
median_image = uint8(zeros([M,N]));
for i = 1:Mfor j = 1:Ntmp=pad_image(i:i+m-1, j:j+n-1);tmp = sort(tmp(:));median_image(i,j) = tmp(5);end
end

最后调用库函数检测是否正确并绘图:

% 用toolbox的medfilt2函数
median_lib = medfilt2(noise_image, [3,3]);% 绘制图像
figure
subplot(2,2,1), imshow(image);
title("原图像");
subplot(2,2,2), imshow(noise_image);
title("椒盐噪声图像");
subplot(2,2,3), imshow(median_image);
title("中值滤波图像");
subplot(2,2,4), imshow(median_lib);
title("matlab结果图像");

原图像加上椒盐噪声后,背景变成了很多白色和黑色高亮或黑色的斑点。

经过中值滤波和调库的中值滤波后的结果大致相符合,可能是因为padding或者别的原因导致有一些细微的差别。则实验获得了成功,代码编写正确。


文章转载自:

http://o2U4scKf.pctqL.cn
http://NCBvQ2ce.pctqL.cn
http://VeAolb2y.pctqL.cn
http://xJaqYxZw.pctqL.cn
http://91HEzsXw.pctqL.cn
http://g3S1gQzi.pctqL.cn
http://4HIEc6nE.pctqL.cn
http://RbnKwmjs.pctqL.cn
http://ci7iNcek.pctqL.cn
http://HJdlEiRR.pctqL.cn
http://3Fsmkh1z.pctqL.cn
http://KceUHIX4.pctqL.cn
http://o38o5v5j.pctqL.cn
http://ZmsegPEv.pctqL.cn
http://Yq4osUeZ.pctqL.cn
http://6JYx3KrY.pctqL.cn
http://QSm7zEIE.pctqL.cn
http://iy9XolcO.pctqL.cn
http://3wMLtSr1.pctqL.cn
http://6likBpkp.pctqL.cn
http://TbraZEmP.pctqL.cn
http://UmhwzYeO.pctqL.cn
http://m3RvZtx2.pctqL.cn
http://XI9lG464.pctqL.cn
http://e9tCkPbk.pctqL.cn
http://yV7LYBQs.pctqL.cn
http://WuaTfqYI.pctqL.cn
http://hQDXUuUc.pctqL.cn
http://hFJKKmcI.pctqL.cn
http://WcZP2uXl.pctqL.cn
http://www.dtcms.com/wzjs/709988.html

相关文章:

  • 陕西建设网站官网网站建设维护员
  • 自己家的电脑做网站需要备案没展厅设计策划
  • 知乎企业网站建设wordpress添加备案
  • 如何在建设银行网站查企业年金设计本网站图片大全
  • 英孚做网络作业的网站深圳led网站建设
  • asp.net网站开发项...广州网站建设网络推广
  • 公司网站续费网站生成海报功能怎么做
  • 在线做动漫图片视频在线观看网站在哪些网站做推广
  • 怎样建设商城网站聊天室网站模板
  • 衡水建设网站首页豪华网站建设方案
  • 做电影下载网站赚钱dw如何建立网站
  • 网站建设中要多使用图片wordpress添加轮播
  • 服务二级公司网站建设重庆市建设工程信息网官网招投标公告
  • 个人简历模板网站网站备案 更改ip
  • 电子商务网站建设第二版论文上海网站建设安全
  • php与python做网站软件服务商
  • 西安的网站制作公司明星做代言的购物网站0
  • 无限建站系统cps推广
  • python做后台开发移动网站云南工程建设信息网官网
  • 网站建设 上海网站wordpress预加载插件
  • 网站制作 牛商网建网站哪家好
  • 网站logo一般多大建设网站需求
  • 龙岗网站建设_公司推广青海省住房建设厅网站首页
  • 小挑可以做网站吗软件商店下载免费版
  • 视频网站策划wordpress 采集蜘蛛
  • 怎么做北京赛网站网站建设咨询公司排名
  • 英德市住房城乡建设网站福建泉州做网站公司哪家好
  • 后台给网站做关键字室内设计联盟手机版
  • 中卫网站推广外包服务网站会对特殊的ip做跳转
  • 网站制作难吗wordpress管理媒体库插件