24小时热门版块排行榜    

查看: 1306  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 323求调剂 +6 洼小桶 2026-03-18 6/300 2026-03-23 00:29 by king123!
[考研] 310求调剂 +4 baibai1314 2026-03-16 4/200 2026-03-22 20:19 by edmund7
[考研] 一志愿上海交大生物与医药专硕324分,求调剂 +3 jiajunX 2026-03-22 3/150 2026-03-22 19:32 by brblmd
[考研] 284求调剂 +5 Zhao anqi 2026-03-22 5/250 2026-03-22 17:38 by barlinike
[考研] 308求调剂 +3 墨墨漠 2026-03-21 3/150 2026-03-22 16:54 by i_cooler
[考研] 275求调剂 +6 shansx 2026-03-22 8/400 2026-03-22 15:27 by barlinike
[考研] 384求调剂 +3 子系博 2026-03-22 4/200 2026-03-22 11:04 by 搏击518
[考研] 0703化学调剂 +4 妮妮ninicgb 2026-03-21 4/200 2026-03-21 18:39 by 学员8dgXkO
[考研] 297求调剂 +11 戏精丹丹丹 2026-03-17 12/600 2026-03-21 17:47 by ColorlessPI
[考研] 306求0703调剂一志愿华中师范 +5 纸鱼ly 2026-03-21 5/250 2026-03-21 17:11 by 学员8dgXkO
[考研] 299求调剂 +4 某某某某位 2026-03-21 4/200 2026-03-21 16:30 by barlinike
[考研] 材料 336 求调剂 +3 An@. 2026-03-18 4/200 2026-03-21 01:39 by JourneyLucky
[考研] 一志愿华南师大 070300(化学)304分求调剂 +3 0703武芊慧雪304 2026-03-18 3/150 2026-03-21 00:48 by JourneyLucky
[考研] 求调剂一志愿南京航空航天大学289分 +3 @taotao 2026-03-19 3/150 2026-03-20 21:34 by JourneyLucky
[考研] A区线材料学调剂 +5 周周无极 2026-03-20 5/250 2026-03-20 21:33 by laoshidan
[考研] 一志愿西安交通大学 学硕 354求调剂211或者双一流 +3 我想要读研究生 2026-03-20 3/150 2026-03-20 20:13 by JourneyLucky
[考研] 材料与化工专硕调剂 +7 heming3743 2026-03-16 7/350 2026-03-20 19:31 by zhukairuo
[考研] 材料工程专硕调剂 +5 204818@lcx 2026-03-17 6/300 2026-03-18 22:55 by 204818@lcx
[考研] 有没有道铁/土木的想调剂南林,给自己招师弟中~ +3 TqlXswl 2026-03-16 7/350 2026-03-17 15:23 by TqlXswl
[考研] [导师推荐]西南科技大学国防/材料导师推荐 +3 尖角小荷 2026-03-16 6/300 2026-03-16 23:21 by 尖角小荷
信息提示
请填处理意见