24小时热门版块排行榜    

查看: 1546  |  回复: 11

xmcrobbie

银虫 (小有名气)

[求助] 那个滤波的效果好? 已有2人参与

最近被gabor整死,我自己写个卷积用c语言实现了0角度就是水平方向的gabor滤波器,同样的参数,再用matlab语言写了一遍,滤波的效果结果就是不一样?大家帮忙看看那个效果好,二者主要的差别就是,在matlab的卷积函数我是调用conv2,而c语言的卷积函数是我自己写的。。我一直觉得用c语言写那个效果好,可是用c语言写的程序,最后去求纹理,对图像进行分类,就是比不上用matlab写的。难道是卷积的问题??? 第一张图片是C语言实现的,第二张图片是用matlab实现的
那个滤波的效果好?
cJPG


那个滤波的效果好?-1
matlab.JPG
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

kaixinla168

银虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
楼主能把程序贴出来看看吗?
3楼2014-01-24 09:18:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

icecho

木虫 (正式写手)

为什么滤出来,两张反着呢?
不会是输入也不是同一张?
2楼2014-01-24 08:01:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xmcrobbie

银虫 (小有名气)

引用回帖:
2楼: Originally posted by icecho at 2014-01-24 08:01:18
为什么滤出来,两张反着呢?
不会是输入也不是同一张?

反着是我没处理好宽度排列的问题。这是水平方向的虑波啊,所以明显用c好!

[ 发自小木虫客户端 ]
4楼2014-01-24 10:36:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xmcrobbie

银虫 (小有名气)

引用回帖:
3楼: Originally posted by kaixinla168 at 2014-01-24 09:18:06
楼主能把程序贴出来看看吗?

for (i = 0; i < height + 8; i++)
                {
                    for ( j = 0; j < width +  8; j++)
                    {
                        for (int k = -8; k < 8; k++)
                        {

                            double temp = 0.0;
                            for (int l = -8; l < 8; l++)
                            {
                                                       
                                                               
                                                                int x1 = i + k;
                                                                int y1 = j + l;

                                                                int x2 =  k + 8
                                                                int y2 =  l + 8;

                                                                if ( x1  < 0  )
                                                                         x1 = 0;
                                                                if ( y1 < 0 )
                                                                         y1 = 0;
                                                                if ( x1 >=height)
                                                                        x1 = height-1;
                                                                if ( y1 >=width)
                                                                        y1 = width -1;
                                                                 else
                                                                        temp = gray[x1][y1];

                                                       
                                                                result1[j] += GReal_On[x2][y2] * temp;
                                                                result2[j] += GImg_On[x2][y2] * temp;

                                                               
                                
                                
                            } //end for l

                        } // end for k
                                       
                    } // end for j
                } // end for i
5楼2014-01-24 10:46:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xmcrobbie

银虫 (小有名气)

引用回帖:
5楼: Originally posted by xmcrobbie at 2014-01-24 10:46:49
for (i = 0; i < height + 8; i++)
                {
                    for ( j = 0; j < width +  8; j++)
                    {
                        for (int k = -8; k < 8; k++)
     ...

我是参照opencv的cvfilter2D的原理写的。
6楼2014-01-24 10:47:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kaixinla168

银虫 (正式写手)

【答案】应助回帖

用conv2计算的二维卷积结果是方阵,你的程序不知道是不是方阵?
7楼2014-01-24 11:28:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xmcrobbie

银虫 (小有名气)

引用回帖:
7楼: Originally posted by kaixinla168 at 2014-01-24 11:28:12
用conv2计算的二维卷积结果是方阵,你的程序不知道是不是方阵?

是呀,二维卷积本来结果就是矩阵!

[ 发自小木虫客户端 ]
8楼2014-01-24 11:47:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kaixinla168

银虫 (正式写手)

引用回帖:
8楼: Originally posted by xmcrobbie at 2014-01-24 11:47:15
是呀,二维卷积本来结果就是矩阵!
...

建议你检查一下两种方法获得结果的维数是否相同,或者干脆检查两种卷积的结果是否相同
9楼2014-01-24 12:44:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xmcrobbie

银虫 (小有名气)

引用回帖:
9楼: Originally posted by kaixinla168 at 2014-01-24 12:44:34
建议你检查一下两种方法获得结果的维数是否相同,或者干脆检查两种卷积的结果是否相同...

不同,卷积原理都不同!

[ 发自小木虫客户端 ]
10楼2014-01-24 13:03:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xmcrobbie 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +16 木水思豆 2026-08-25 19/950 2026-08-25 23:56 by dragonxp
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 7K1CJE38xLG4 2026-08-25 3/150 2026-08-25 23:20 by cNXvBfCpiZOM
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 (金币+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[基金申请] 明天应该可查了!? +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[基金申请] 放榜前的不淡定 20+4 snowwithsea 2026-08-19 19/950 2026-08-25 17:57 by chick875
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[基金申请] 2026国自然函评费到账 +20 羊腰板 2026-08-21 23/1150 2026-08-25 16:34 by zsna
[基金申请] 没有任何消息-是不是就凉了 +9 图啦图啦 2026-08-24 10/500 2026-08-25 11:59 by 南海小哥
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +3 苏东坡二世 2026-08-23 3/150 2026-08-25 10:35 by shisan1313
[基金申请] 我面上完蛋了 +13 且听虎啸 2026-08-20 14/700 2026-08-25 09:10 by mrkang
[基金申请] 范进中举一文的中心思想 +7 炎黄贵胄 2026-08-22 8/400 2026-08-25 08:48 by ZJTJZ
[基金申请] 建议基金发布提前给出明确的时间点 +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[基金申请] 让我中一个面上吧! +13 大萍1987 2026-08-20 16/800 2026-08-24 10:23 by 太傻了
[教师之家] 跳槽后在研项目怎么办? +5 简单化xn 2026-08-22 10/500 2026-08-23 12:38 by 简单化xn
[基金申请] 今天放榜吗? +15 布布和一二 2026-08-19 16/800 2026-08-23 09:55 by 张春生
[基金申请] 时间戳今天,20号变了 +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
信息提示
请填处理意见