24小时热门版块排行榜    

查看: 1307  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿西安交通大学材料工程专业 282分求调剂 +11 枫桥ZL 2026-03-18 13/650 2026-03-22 20:26 by edmund7
[考研] 310求调剂 +4 baibai1314 2026-03-16 4/200 2026-03-22 20:19 by edmund7
[考研] 287求调剂 +8 晨昏线与星海 2026-03-19 9/450 2026-03-22 17:01 by i_cooler
[考研] 293求调剂 +12 zjl的号 2026-03-16 17/850 2026-03-22 16:51 by i_cooler
[考研] 材料学硕301分求调剂 +7 Liyouyumairs 2026-03-21 7/350 2026-03-21 22:31 by peike
[考研] 0703化学调剂 +4 妮妮ninicgb 2026-03-21 4/200 2026-03-21 18:39 by 学员8dgXkO
[考研] 一志愿深大,0703化学,总分302,求调剂 +4 七月-七七 2026-03-21 4/200 2026-03-21 18:20 by 学员8dgXkO
[考研] 一志愿重庆大学085700资源与环境总分308求调剂 +7 墨墨漠 2026-03-20 7/350 2026-03-21 16:36 by barlinike
[考研] 材料与化工(0856)304求 B区 调剂 +3 邱gl 2026-03-21 3/150 2026-03-21 13:47 by lature00
[考研] 265求调剂 +3 Jack?k?y 2026-03-17 3/150 2026-03-21 03:17 by JourneyLucky
[考研] 华东师范大学-071000生物学-293分-求调剂 +3 研究生何瑶明 2026-03-18 3/150 2026-03-21 01:30 by JourneyLucky
[考研] 一志愿西南交大,求调剂 +5 材化逐梦人 2026-03-18 5/250 2026-03-21 00:26 by JourneyLucky
[考研] 350求调剂 +5 weudhdk 2026-03-19 5/250 2026-03-20 22:04 by luoyongfeng
[考研] 0817 化学工程 299分求调剂 有科研经历 有二区文章 +22 rare12345 2026-03-18 22/1100 2026-03-20 20:39 by zhukairuo
[考研] 一志愿南理工085701环境302求调剂院校 +3 葵梓卫队 2026-03-20 3/150 2026-03-20 19:28 by zhukairuo
[考研] 招收调剂硕士 +4 lidianxing 2026-03-19 12/600 2026-03-20 12:25 by lidianxing
[考研] 286求调剂 +6 lemonzzn 2026-03-16 10/500 2026-03-19 14:31 by lemonzzn
[考研] 328求调剂,英语六级551,有科研经历 +4 生物工程调剂 2026-03-16 12/600 2026-03-19 11:10 by 生物工程调剂
[考研] 一志愿苏州大学材料工程(085601)专硕有科研经历三项国奖两个实用型专利一项省级立项 +6 大火山小火山 2026-03-16 8/400 2026-03-17 15:05 by 无懈可击111
[考研] 333求调剂 +3 文思客 2026-03-16 7/350 2026-03-16 18:21 by 文思客
信息提示
请填处理意见