V2EX 有做图像处理的同学吗?写了个 SLIC 超像素分割算法+OpenCV2 的类,简单易用~

2015-03-06 15:00:03 +08:00
 answer42

代码

github链接:np-csu/SLIC-superpixel

Class explanation

Example

original image

200 superpixels

500 superpixels

5030 次点击
所在节点    程序员
23 条回复
ooxxcc
2015-03-06 15:12:45 +08:00
颜色空间转换可以直接用opencv内部的吧……
answer42
2015-03-06 15:37:18 +08:00
@ooxxcc 你指的是哪个过程中的颜色转换?
answer42
2015-03-06 15:37:43 +08:00
@ooxxcc 你指的是哪个过程中的颜色空间转换?
answer42
2015-03-06 15:39:53 +08:00
@ooxxcc 论文作者发布的代码只能够处理32位的图片,我增加了对8位图片的支持。
zerh925
2015-03-06 17:01:54 +08:00
如果是边缘没有这么明显的图片呢
ooxxcc
2015-03-06 17:06:41 +08:00
@answer42 啊,我说的是 RGB LAB XYZ等颜色空间转换

例如 RGB2XYZ RGB2LAB等,没仔细看代码,有错勿怪
answer42
2015-03-06 17:23:50 +08:00
@ooxxcc 是的,OpenCV自带一些颜色空间转换的函数,针对的是Mat格式。SLIC类中所带的转换函数针对的是unsigned int格式。
answer42
2015-03-06 17:26:38 +08:00
@zerh925 算法基于K均值聚类,提取像素的位置(x, y)以及像素的值(r, g, b)作为特征。

在已有超像素分割算法中效果还是不错的。

对于边缘没那么明显的图片,你可以尝试增大超像素的个数。
ooxxcc
2015-03-06 17:39:28 +08:00
@answer42 转一下就好……

C++: Mat::Mat(Size size, int type, void* data, size_t step=AUTO_STEP)

opencv自带的一些函数有各种优化,一般我都直接用,就不自己造轮子了。。
Valyrian
2015-03-06 18:15:43 +08:00
computer vision课作业写过。。。
ooxxcc
2015-03-06 18:17:05 +08:00
cv相关专业但是不知道为啥一直在做嵌入式学术上一事无成的飘过。。
theoractice
2015-03-06 19:51:39 +08:00
看起来很好玩。想问下这个有啥应用呢?
shakoon
2015-03-06 20:34:02 +08:00
看着很不错呢,楼主加油!
jimmy66
2015-03-06 21:18:05 +08:00
这学期在学,先star了
answer42
2015-03-07 10:06:36 +08:00
@Valyrian 这个难度确实适合大作业完成。今年带一个本科生做毕业设计,也是超像素分割。
answer42
2015-03-07 10:09:07 +08:00
@ooxxcc 现在我做的一个工业项目,也是相当尴尬。

工业上对于图像识别的准确率,几乎要求100%。

即使算法能够达到99%,也意味着100次操作会出现一次失误,而失误的代价是很大的。
answer42
2015-03-07 10:11:57 +08:00
@theoractice 超像素分割算法是图像预处理的一部分。

它将相似邻近的像素抽象出来,视为一体。

这样做一方面能够让我们更方便把握图像的纹理结构信息。另一方面,降低了后期算法的复杂度。
answer42
2015-03-07 10:12:38 +08:00
@shakoon 谢谢~
answer42
2015-03-07 10:12:51 +08:00
@jimmy66 嗯,多交流~
ooxxcc
2015-03-07 12:17:59 +08:00
@answer42 金融机具相关,要求识别错误率小于万分之三,另一个指标是小于万分之零点五

简直坑

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/174929

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX