sift 图像匹配-----在灰度图像上画线,不管你怎么设置RGB的值,线条颜色都只有黑白灰三种颜色

u010890209 2013-12-19 03:55:09
sift算法进行图像配准,将两张图片合成为一个图像,然后把匹配点连接起来,但是不管你怎么设置RGB的值,线条颜色都只有黑白灰三种颜色,为什么?

cvLine( stacked, pt1, pt2,CV_RGB(255,0,0),1,8,0 ); //stacked是两种图像合成的图像
...全文
1011 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
sodagd 2014-07-08
  • 打赏
  • 举报
回复
你好 两张图合并成一张图成功了吗??
u010890209 2013-12-24
  • 打赏
  • 举报
回复
引用 10 楼 u010890209 的回复:
[quote=引用 8 楼 xuddk727 的回复:]
你现在要做的是类似融合后匀色么


引用 8 楼 xuddk727 的回复:
你现在要做的是类似融合后匀色么
融合没接触过呢,我主要想做两幅影像分别提取特征点,然后匹配,两幅图像合成一幅图,把两个特征点用线连接起来。
u010890209 2013-12-24
  • 打赏
  • 举报
回复
引用 8 楼 xuddk727 的回复:
你现在要做的是类似融合后匀色么
引用 8 楼 xuddk727 的回复:
你现在要做的是类似融合后匀色么
不是的,那太高端了,做影像配准滴神马
u010890209 2013-12-24
  • 打赏
  • 举报
回复
引用 5 楼 memeai 的回复:
以前看过,有点印象,貌似算法中间会取RGB的均值,也就是黑白图。。我以前做完了也都是黑色的,你追一下中间过程
源代码是这样:cvLine( stacked, pt1, pt2,get_rand_color(mm),1,8,0 ); 我追加了这个函数数这样的: CvScalar get_rand_color(int i) { CvScalar color; if (i%6 == 0) { color = CV_RGB(0,0,255); } else if (i%6 == 1) { color = CV_RGB(0,255,0); } else if (i%6 == 2) { color = CV_RGB(255,0,0); } else if (i%6 == 3) { color = CV_RGB(255,255,0); } else if (i%6 == 4) { color = CV_RGB(255,0,255); } else { color = CV_RGB(0,255,255); } return color; } 这里设置RGB的值,按理说会颜色不只是黑白灰呢
许文君 2013-12-24
  • 打赏
  • 举报
回复
你现在要做的是类似融合后匀色么
u010890209 2013-12-24
  • 打赏
  • 举报
回复
引用 6 楼 xuddk727 的回复:
引用 4 楼 u010890209 的回复:
[quote=引用 3 楼 xuddk727 的回复:] 这个与原始影像有一定的关系
嗯嗯,有刚开始学机载sar影像,那一般要怎么处理原始影像呢、
什么格式的数据?复数?[/quote]老师截图给我,tif格式
许文君 2013-12-24
  • 打赏
  • 举报
回复
引用 4 楼 u010890209 的回复:
引用 3 楼 xuddk727 的回复:
这个与原始影像有一定的关系
嗯嗯,有刚开始学机载sar影像,那一般要怎么处理原始影像呢、
什么格式的数据?复数?
memeai 2013-12-24
  • 打赏
  • 举报
回复
以前看过,有点印象,貌似算法中间会取RGB的均值,也就是黑白图。。我以前做完了也都是黑色的,你追一下中间过程
u010890209 2013-12-24
  • 打赏
  • 举报
回复
引用 3 楼 xuddk727 的回复:
这个与原始影像有一定的关系
嗯嗯,有刚开始学机载sar影像,那一般要怎么处理原始影像呢、
u010890209 2013-12-24
  • 打赏
  • 举报
回复
引用 17 楼 memeai 的回复:
我好像回答问题又跑偏了。。。so sorry,絮絮叨叨说这么多。。。 在灰度图上画线,这个线要更新灰度图像空间中的数据,最后变成灰度图上面的一堆像素点。最后生成的图还是灰度图像,线不能独立于图像而存在。
恩恩,stacked,是1通道的,哈哈,明白了不少,关于存储方面的知识得补补,感谢,哈哈,随便祝亲们圣诞快乐。
memeai 2013-12-24
  • 打赏
  • 举报
回复
我好像回答问题又跑偏了。。。so sorry,絮絮叨叨说这么多。。。 在灰度图上画线,这个线要更新灰度图像空间中的数据,最后变成灰度图上面的一堆像素点。最后生成的图还是灰度图像,线不能独立于图像而存在。
memeai 2013-12-24
  • 打赏
  • 举报
回复
这个就应该跟内存分布有关系了。你的图像在初期读的时候按照单通道读进来,那么内存就只给他分配了足够单通道用的内存空间,cvLine本身应该不会动stack的内存空间,而是先看stack是单通道还是3通道。若是单通道,就将后面的线条颜色变成单通道,在按照位置添加到图像上,也就是更新stack存储空间上的数据值;若是3通道,就按照彩色更新。。。。我觉得正常的编码思路应该这样的,我opencv环境都卸载掉了,也没法验证了,so,你如果不放心,跟到cvLine的代码里面再看一下,验证一下吧。
u010890209 2013-12-24
  • 打赏
  • 举报
回复
引用 12 楼 memeai 的回复:
看上去你的lena图是灰度的,也就是那个变量stack是灰度图变量。。灰度图比彩色图少用了约1/3的存储空间,存不了彩色信息。除非你做什么伪彩色增强一类的。。。。所以你目前可以试试读一个彩图放进stack里,以观后效。
嗯,我读入的lena是RGB真彩色的,是1通道读入,关于channels查了资料,整理一下OpenCV中文论坛里关于图像通道的问题,如下: (1)图像的通道指的是什么?是不是灰度图的通道数为1,彩色图的通道为3?(zhuker) 正确! 基本上,描述一个像素点,如果是灰度,那么只需要一个数值来描述它,就是单通道。 如果一个像素点,有RGB三种颜色来描述它,就是三通道。(ollydbg23) (2)对于2通道和4通道如何看待?哪位帮忙解释一下?(feixue) 我见过四通道的,两通道暂时没见过,估计只是编程的方便吧。windows的bmp有时候是一个四通道图像,R、G、B加上一个A通道,表示透明度。(eralvc) 是的,最后这个,一般叫做alpha通道,表示透明度的。(ollydbg23) 4通道通常为RGBA,在某些处理中可能会用到。 2通道图像不常见,通常在程序处理中会用到,如傅里叶变换,可能会用到,一个通道为实数,一个通道为虚数,主要是编程方便。 还有一种情况就是16位图像,本来是3通道,但是为了减少数据量,压缩为16位,刚好两个通道,常见格式有RGB555或RGB565,也就是说R占5位,G占5或6位,B占5位,也有RGBA5551格式。古老的格式,不用也罢。(Loren) 主要是有些摄像头常采用一些比较“古怪”的格式,没办法。 补充一种情况,目前常见的一些摄像头喜欢采用YUV2等格式,格式如下YUYV,在处理的时候可以用4通道或者2通道来处理。 如原格式为:Y1UY2V,插值成为Y1UV,Y2UV 就成两个彩色点了。 YCrCb也有类似压缩情况。(Loren) 详见:http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=4921&start=0&st=0&sk=t&sd=a&hilit=RGB 但是我还是不明白的是,图像是灰度图,在灰度图上画线,这个线应该不属于图像部分吧,也就是说线条的颜色可以是处理黑白其他的彩色呀??
许文君 2013-12-24
  • 打赏
  • 举报
回复
这看上去挺有意思的,我对opencv也是接触不久,可以按12L说的一试
memeai 2013-12-24
  • 打赏
  • 举报
回复
也就是说注意一下看看你的stack是不是用单通道方式读进来的。http://blog.csdn.net/thefutureisour/article/details/7613358
memeai 2013-12-24
  • 打赏
  • 举报
回复
看上去你的lena图是灰度的,也就是那个变量stack是灰度图变量。。灰度图比彩色图少用了约1/3的存储空间,存不了彩色信息。除非你做什么伪彩色增强一类的。。。。所以你目前可以试试读一个彩图放进stack里,以观后效。
许文君 2013-12-23
  • 打赏
  • 举报
回复
这个与原始影像有一定的关系
u010890209 2013-12-23
  • 打赏
  • 举报
回复
引用 1 楼 fengbingchun 的回复:
是不是你的stacked图像本身就不是彩色图呀
这个有关系吗?
fengbingchun 2013-12-20
  • 打赏
  • 举报
回复
是不是你的stacked图像本身就不是彩色图呀

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧