matlab中,如何根据像素点的坐标值,在其像素以及周围的8个像素填充颜色?

如题所述

matlab中,图像就是个矩阵,你知道像素点的坐标值,就等于知道了这个点在矩阵中的行列值。然后把它相邻的8个元素自己设值就好了。
如果图像是彩色的,图像一般会由三层矩阵来表达,分别代表R(红色) , G(绿色), B(蓝色). 确定你想填充颜色的RGB值,然后就可以填充了
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-22
T=[I(i-1,j-1) I(i-1,j) I(i-1,j+1);
I(i,j-1) I(i,j) I(i,j+1);
I(i+1,j-1) I(i+1,j) I(i+1,j+1)];
T是点及周围的8 个点,一个3*3的模板,在T中为每个点赋值就行了追问

能不能直接输入i,j,就出来这个9个像素的图形?

追答

可以啊,里面用的是字母,你换成实际的数字当然没问题了

追问

请问一下,里面的 I 是什么意思?

追答

你的原矩阵啊,你没有原图你怎么填啊

追问

那怎么在原图上填充这九个像素,并显示相应的颜色呢?

追答

直接对每个点重新赋值就行了

追问

程序运行完只有一小块啊,怎么样使其在原图形上显示呢?

追答

把你原图发上来吧,看来你是初学,这上面说不清楚

追问

能否加QQ,我QQ是59738093,多谢

本回答被提问者和网友采纳
第2个回答  2012-10-22
读入图片后对矩阵操作就可以了
A (M,N,3)源图像
D(3,3,3)填充图像
A(m-1:m+1,n-1:n+1,:)=D;
相似回答