Matlab 图像处理问题 20

问题如下:这里有一个后缀名为pbm的图像,使用Matlab,然后用一个3*3的矩阵,给这个图像打马赛克。问题是,那个图像转化为矩阵以后,里面全是1,0,我只要一更改1,0... 问题如下:这里有一个后缀名为pbm的图像,使用Matlab,然后用一个3*3的矩阵,给这个图像打马赛克。问题是,那个图像转化为矩阵以后,里面全是1,0,我只要一更改1,0的值,就会出现警告,然后矩阵里面没有任何变化,马赛克就是打不上。
程序如下:
function uuu=mask(f)
f=imread('E:\Courses\CPSC 5416\Assignment 1\sample1.pbm')
[m,n]=size(f)
for i=2:m-1
for j=2:n-1
f(i-1:i+1,j-1:j+1) = f(i-1:i+1,j-1:j+1).*(sum(sum(f(i-1:i+1,j-1:j+1)))/9)
end
end
imshow(f)
end
但是无论如何,f却就是不发生变化。
并且出现警告:
Warning: Values other than 0 or 1 converted to logical 1
展开
 我来答
Math_Take
2010-10-13
知道答主
回答量:12
采纳率:0%
帮助的人:7.5万
展开全部
f(i-1:i+1,j-1:j+1) = f(i-1:i+1,j-1:j+1).*(sum(sum(f(i-1:i+1,j-1:j+1)))/9);这里好像是 matlab的内部逻辑错误

你在定义一个备用图片试试
例如 img = f;

f(i-1:i+1,j-1:j+1) = img(i-1:i+1,j-1:j+1).*(sum(sum(img(i-1:i+1,j-1:j+1)))/9)

我没进行验证,你自己试试看
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
百度网友1c6e06f
2010-10-13 · TA获得超过2894个赞
知道小有建树答主
回答量:695
采纳率:66%
帮助的人:679万
展开全部
我查了一下,pbm是二值图,就是说里面的灰度就两个,0,1.读到matlab里是logical型的,所以f在计算前,for之前先转成double型的试试,f=double(f),计算完后再回到logical,f=logical(f),不过估计最后还是0,1图
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
372632453
2010-10-15 · TA获得超过930个赞
知道小有建树答主
回答量:649
采纳率:0%
帮助的人:559万
展开全部
f=imread('E:\Courses\CPSC 5416\Assignment 1\sample1.pbm')
f=double(f)
[m,n]=size(f)
for i=2:m-1
for j=2:n-1
f(i-1:i+1,j-1:j+1) = f(i-1:i+1,j-1:j+1).*(sum(sum(f(i-1:i+1,j-1:j+1)))/9)
end
end
imshow(f)
end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tanarri
2010-10-13 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5123
采纳率:33%
帮助的人:8298万
展开全部
看上去你的f是布尔量的矩阵,你运算后的结果也应该是布尔量,才能修改
你可以先转化成一个整型矩阵ff,运算完之后用ff>0.5就得到新的布尔量矩阵了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式