创建一个图像卷积码

55视图(30天)
团
2022年11月5日
编辑: 为副总经理 2022年11月13日
所以我有这个图像卷积编码脚本,但我得到这个错误(错误使用。*
整数只能结合整数相同的类,或在国际货币基金组织(imF) = A0。*双标量双打错误(H))
我卡住了,有人能帮忙吗?
H = [1 0 1; 0 1 0 1 0 1];
因为我= 1:x - 1
j = 1: y-1
A0 =(我+ 1,j: + 1);
国际货币基金组织(imF) = A0。* H;
年代(i, j) =总和(sum (imF));
结束
结束
imshow (S)

接受的答案

为副总经理
为副总经理 2022年11月5日
编辑:为副总经理 2022年11月5日
这是一个开始。
%这张照片是类“uint8”
一个= imread (“cameraman.tif”);
%的数学工作,你需要浮点类
= im2double ();
(x, y) = (A)大小;
H = [1 0 1; 0 1 0 1 0 1];
%过滤器sum-normalized如果目标是找到当地的意思
% H = H /笔(H (:));
% preallocate输出
S = 0 (y、x);
%图像几何(x, y),而不是(x, y)
%治疗边缘,避免需要索引偏移量
% A0需要相同的大小
我= 2:y-1
j = 2: x - 1
A0 =(张:我+ 1,j - 1: j + 1);
国际货币基金组织(imF) = A0。* H;
年代(i, j) =总和(sum (imF));
结束
结束
imshow (S)
为什么吹出来?这是因为内核不是sum-normalized过滤器。结果,图像的亮度增加成正比的总和h .如果你想要,你就集。只要我们保持“双”,超大的图像内容仍然存在,但它不能呈现为任何比白色的。如果我们回想到一个整数类,这些信息都将丢失。
如果你想要一个平均滤波器相反,正常化的内核是低于划分结果。
为什么边黑?因为他们不处理。有多种方法处理边缘。一种常见的方法是简单地垫边缘。
有许多的例子2 d过滤器。以下的答案是一个和其他的链接。
8的评论
为副总经理
为副总经理 2022年11月13日
编辑:为副总经理 2022年11月13日
这可能是你在说些什么。
一个= imread (“cameraman.tif”);
%的数学工作,你需要浮点类
= im2double ();
(x, y) = (A)大小;
H = [0 1 0;0 0 0;0 1 0];
% preallocate输出
S = 0 (y、x);
%图像几何(x, y),而不是(x, y)
%治疗边缘,避免需要索引偏移量
% A0需要相同的大小
我= 2:y-1
j = 2: x - 1
A0 =(张:我+ 1,j - 1: j + 1);
国际货币基金组织(imF) = A0。* H;
年代(i, j) =总和(sum (imF));
结束
结束
%使用conv2 ()
星际2 = conv2 (A, H,“相同”);
%使用imfilter ()
Sif = imfilter (H);
% comare结果
%,因为这些都是在[1]
%重新调节查看
outpict =[年代;星际2;Sif);
outpict = (1 + outpict) / 2;
imshow (outpict)
除非你改变什么,之前的例子表现通常像imfilter()(边缘除外)。注意这个例子与conv2()给出了相反的斜率。从黑暗到光明的转换有负斜率。
为了得到相同的行为的conv2(), 180度旋转过滤器。
H = rot90 (H, 2);%相关和卷积
注意,imfilter()支持,但违约相关万博1manbetx性。
还有其他行为差异的三个可能影响结果显示图像()/ imshow(),但知道如果是这样要求的一个例子你如何创建两个图像。

登录置评。

更多的答案(0)

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!