24小时热门版块排行榜    

查看: 2448  |  回复: 14
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 yibanxinyu 的 7 个金币

yibanxinyu

铜虫 (小有名气)

[交流] 【求助】帮我编个程啊~C语言,C++,Matlab,VB...都行~已有4人参与

拜托各位编程高手帮我编个程啊,高金币悬赏哦~是关于图像处理的,用C语言,C++,Matlab,VB等等都行。
  编写处理“K近邻平滑滤波”的程序,原理是:以待处理的像素作为中心,取一个3X3的模板,在模板中选择5个与待处理像素的值最接近的像素,将这5个像素的均值替换原来的像素值。
  举个直观的例子吧,给定3X3的模板如下:
2   2   3
6   8   7                  (6+7+5+6+8)/5=6.4=6(四舍五入)
5   6   8
   最后中心像素值8被6替换。
  编程的时候不要用具体的像素值,用代号(比如说a、b、c......)代替就好了。
  多谢各位高手了,小女感激不尽啊!

[ Last edited by yibanxinyu on 2010-4-25 at 20:37 ]
回复此楼

» 收录本帖的淘贴专辑推荐

学海无涯!

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

雷小雨

银虫 (著名写手)

★ ★ ★
resonant(金币+3):感谢提供:-) 2010-05-02 13:06
yibanxinyu(金币+5):非常感谢~ 2010-05-03 21:18
% K近邻平滑滤波
% input - 输入图像矩阵;n - 模板大小(3,5,7...);k - 近邻数
% output - 滤波处理后的图像矩阵
function output = emuchKNNMeanFilter(input, n, k)
    [row, col] = size(input);
    edgeWidth = floor(n / 2);
    output = zeros(row - edgeWidth * 2, col - edgeWidth * 2);
    for i = 1 + edgeWidth : row - edgeWidth
        for j = 1 + edgeWidth : col - edgeWidth
            mask = input(i - edgeWidth : i + edgeWidth,...
                j - edgeWidth : j + edgeWidth);
            center = input(i, j);
            vertex = Matrix2Vertex(mask);
            neighbour = GetNeighbour(vertex, center, k);
            output(i - 1, j - 1) = mean(neighbour);
        end
    end
end

% 根据输入的向量与中心值取近邻值
% vertex - 输入向量;center - 中心值;k - 近邻数
% neighbour - 近邻值
function neighbour = GetNeighbour(vertex, center, k)
    distance = abs(vertex - center);
    [sortDistance, sortIndex] = sort(distance,1);
    neighbour = vertex(sortIndex(2 : k + 1));
end

% 将矩阵转换为向量
function vertex = Matrix2Vertex(matrix)
    [row, col] = size(matrix);
    vertex = zeros(row * col, 1);
    for i = 1 : row * col
        vertex(i) = matrix(i);
    end
end

思路与7楼一致
调用方法:
将以上代码存为文件emuchKNNMeanFilter.m,在matlab command window中调用。
例如,有矩阵
a =
164        24        196        119        209        51
200        139        53        23        250        244
125        218        11        129        247        86
103        67        39        20        147        38
224        198        183        42        60        84
181        163        33        191        74        29
211        185        56        85        172        197
3        228        116        78        146        202
调用程序进行处理:b = emuchKNNMeanFilter(a, 3, 5)
得到处理后的矩阵
b =
180.6        61.2        101.6        189.6
126.8        40.4        56.4        171.2
92.2        53.8        56.2        121.2
170.8        132.2        45.2        53.4
191.6        105.8        114.8        60
179.8        95        71.4        164.2
8楼2010-05-02 13:03:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

holmescn

金虫 (正式写手)

★ ★
resonant(金币+2):感谢回帖交流:-) 2010-04-26 18:05
yibanxinyu(金币+2): 2010-04-26 20:51
貌似不难。不过有几个问题:
1、总图像有多大。(以估算计算量)
2、怎样选取最接近的像素。
3、为什么只有中心的8被替换?不是6 7 5 6 8这五个像素都被替换?
2楼2010-04-26 17:17:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yibanxinyu

铜虫 (小有名气)

jjdg:直接pm会更快获得答案! 2010-04-27 02:51
引用回帖:
Originally posted by holmescn at 2010-04-26 17:17:30:
貌似不难。不过有几个问题:
1、总图像有多大。(以估算计算量)
2、怎样选取最接近的像素。
3、为什么只有中心的8被替换?不是6 7 5 6 8这五个像素都被替换?

先谢谢你的捧场啊~这个程序只要针对一个3X3的模板来编程就好了,不用管总图像的大小的。至于怎样选取最接近的像素,我的想法是用其他8个像素值与中心像素值作差,然后再将差值排序,从而可以选出最接近的5个值,不知道高手有没有更好地方法呢?最后一个问题嘛,这个方法的原理就是这样的,只替换中心像素值,呵呵~
你能帮我编这个程序吗?感激不尽啊~
3楼2010-04-26 20:49:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)

★ ★ ★
resonant(金币+1):有心才是最重要的。感谢参与交流。 2010-04-27 12:07
wangen994(金币+2):活动期间额外奖励 2010-04-27 20:39
yibanxinyu(金币+2): 2010-04-27 20:54
我可以尝试一下。不过,有deadline吗?因为我的课程也比较紧。不是每天都能coding阿。

而且我也不是CS专业的……每天coding只能是梦想了……

另外:
1、只考虑3X3矩阵是不是说只给出关键代码就可以了?其他部分你自己实现吗?
还是需要全部的,可以装载某一个图形的。

2、不用给一个GUI界面吧?我可以写一个CUI界面的。这样简单一点。

[ Last edited by holmescn on 2010-4-27 at 12:53 ]
4楼2010-04-27 10:32:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yibanxinyu

铜虫 (小有名气)

引用回帖:
Originally posted by holmescn at 2010-04-27 10:32:48:
我可以尝试一下。不过,有deadline吗?因为我的课程也比较紧。不是每天都能coding阿。

而且我也不是CS专业的……每天coding只能是梦想了……

另外:
1、只考虑3X3矩阵是不是说只给出关键代码就可以了 ...

六月之前就好啦~呵呵~只要关键代码就可以啦~只要能编出来就好啦,不管什么方法的,如果编出来,我愿把剩下的所有金币都给你~
5楼2010-04-27 20:59:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dy_306

金虫 (正式写手)


resonant(金币+1):给点定金:-)能给个解决方案?欢迎讨论 2010-04-30 20:08
这用matlab容易实现吧
6楼2010-04-30 20:00:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dy_306

金虫 (正式写手)


resonant(金币+1):俺不懂图像处理。但是很感谢朋友没有空发议论。把自己的想法分享出来,才能让彼此都有进步的空间:-)谢谢,学习了。 2010-04-30 20:42
yibanxinyu(金币+1): 2010-05-03 21:21
定义一个和原图像同样大小的矩阵,然后将处理好的每一个像素赋值到新矩阵中就可以了。实现过程用二重循环,将模板在原图像覆盖一遍。
“将这5个像素的均值替换原来的像素值”可以对中心像素的八领域均减去中心像素的灰度,取绝对值后排序找到最小的五个对应的原像素,然后取均值~~
这是我思路~不妥之处望指出~~
7楼2010-04-30 20:38:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wujun604

金虫 (初入文坛)


resonant(金币+1):谢谢参与,已属于老帖子,估计楼主已经解决了。 2010-08-11 12:08:48
yibanxinyu(金币+2): 2010-08-14 19:44:35
将每个邻域的灰度值和模板中心灰度值想减取绝对值(度量距离),对距离进行排序,取前五个。然后相加取平均就可以了。
9楼2010-08-11 11:50:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

潜龙伏虎

银虫 (小有名气)


小木虫(金币+0.5):给个红包,谢谢回帖
抱歉,这个真不懂怎么做呀!
10楼2011-11-30 23:24:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yibanxinyu 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[教师之家] 双非本科毕业论文,气人 +7 河西夜郎 2024-05-27 12/600 2024-06-01 22:12 by iwdw2012
[基金申请] 化学口B0109(高分子合成),拿青年基金一般需要怎样的文章水平? +13 salmon95 2024-05-30 22/1100 2024-06-01 21:22 by salmon95
[教师之家] 研究生在毕业答辩时挂了,遗憾 +10 spacr2022 2024-05-27 13/650 2024-06-01 17:45 by keyaner23
[硕博家园] 论大家对6070后普通教授导师的看法 +6 SNaiL1995 2024-05-28 10/500 2024-06-01 16:55 by 篮球易飞
[基金申请] 九部门发文:不得将专利授权数量作为人才评价、项目评审、职称评定、高校评价等的条件 +16 sjtu2012 2024-05-28 19/950 2024-06-01 15:24 by 天外飞去来
[基金申请] B口人才项目 +9 WOWO159357 2024-05-29 19/950 2024-06-01 14:24 by linxuhuizj
[硕博家园] 实验室太吵闹,无法安静学习,怎么办? +6 utahh 2024-05-31 11/550 2024-06-01 13:27 by utahh
[基金申请] 数理的人才答辩通知发了吗 +7 yzy3327 2024-05-30 7/350 2024-06-01 09:15 by 撒哈拉西部
[硕博家园] 讨厌酒桌文化 +6 hahamyid 2024-05-31 6/300 2024-06-01 09:03 by lizhiweiouc
[硕博家园] 哈工大硕博招生!博士每月入学! +4 nailooo 2024-05-30 5/250 2024-06-01 06:47 by anevay
[教师之家] 中年 (金币+3) +18 459582015 2024-05-28 19/950 2024-06-01 00:41 by 沈婉婷.Girl
[高分子] MMA预聚体光固化发雾问题求助 +3 惠亚金总 2024-05-29 10/500 2024-05-31 14:59 by 惠亚金总
[电化学] 有锂金属软包电池代工公司代做软包嘛 +5 yyywj995 2024-05-26 6/300 2024-05-30 08:33 by 那年的旧城
[论文投稿] 《控制理论与应用》期刊收版面费吗? +4 ygj2015 2024-05-29 4/200 2024-05-30 06:59 by nono2009
[论文投稿] 高手朋友推荐比较容易投稿和录用的SCI期刊,不投稿收费SC,对分区没有要求 5+3 xintangren 2024-05-28 4/200 2024-05-29 10:46 by xintangren
[基金申请] 如果您是国自然评审专家 +3 丁香园账户 2024-05-28 3/150 2024-05-29 06:44 by gaohui8888
[论文投稿] EI期刊审稿人邮箱问题 5+3 shier妈妈 2024-05-27 4/200 2024-05-28 14:53 by topedit
[有机交流] 机理求助 120+4 15147165026 2024-05-26 10/500 2024-05-28 14:42 by 江东闲人
[基金申请] 面上基金会评专家,有回避机制吗? +4 huang1991js 2024-05-27 4/200 2024-05-27 19:08 by 星火12
[硕博家园] 课题做到一半担心做不出来怎么办 +4 mkpooooo 2024-05-27 7/350 2024-05-27 11:56 by kanmiaolucky
信息提示
请填处理意见