1
dorentus 2013 年 8 月 26 日
作业题?
|
4
icenan2 2013 年 8 月 26 日 你这没说太明白嘛,用什么图像处理的库?
|
5
passluo 2013 年 8 月 26 日 200。。。。外快。。。我觉得这还是发到猪八戒上去吧。。。
|
6
felix021 2013 年 8 月 26 日
Python的话写起来应该会比较快。
|
7
LetFoxRun 2013 年 8 月 26 日
需要图像处理的知识,不会。
|
11
jesse_luo 2013 年 8 月 26 日
为什么觉得是C++……
|
12
liuyl 2013 年 8 月 26 日
模板匹配吧?拿opencv改一改就好了
|
13
msg7086 2013 年 8 月 27 日
以前图像处理课上是用matlab的矩阵运算来做的。
如果是精确像素点匹配的话倒还是容易,直接像做strcmp那样比像素点就行了。 如果是相似匹配的话,我觉得200肯定是拿不下来的,2000到20000应该差不多吧。 |
14
raptor 2013 年 8 月 27 日
精确匹配除非是无损图像格式,用JPEG之类有损的话,必须相似匹配
|
15
10iii 2013 年 8 月 27 日 说个思路吧,不管时间复杂度:
struct image { int w; int h; int* buf; } imageFoFind, imageFindFrom; findImagesFuzzilyIgnoreColor(imageToFind, imageFindFrom, colorValue, fuzzyValue) { int i,j; for (i=0;i<imageFindFrom.w-imageToFind.w;i++) for (j=0;j<imageFindFrom.h-imageToFind.h;j++) if match(imageToFind, imageFindFrom, colorValue, fuzzyValue,i,j) location.push([i,j]); return location; } int match (imageToFind, imageFindFrom, colorValue, fuzzyValue,i,j) { int max=imageToFind.w*imageToFind.h*(1-fuzzyValue); int d=0,x,y; for (x=0;x<imageToFind.w;x++) for (y=0;y<imageToFind.h;y++) { if ((imageToFind.buf[x][y]!=imageFindFrom[i+x][j+y])&&(imageFindFrom[i+x][j+y]!=colorValue)&&(imageToFind.buf[x][y]!=colorValue)) d++; if d>max return 0; } return 1; } 基本就这样吧。不排除语法错误,编译肯定通不过。 |
20
msg7086 2013 年 8 月 28 日 楼主有兴趣的话可以来读一下我们的课程PPT。有介绍最基本的SIFT和HOG算法之类的东西。
http://web.engr.oregonstate.edu/~sinisa/courses/OSU/CS556/CS556Slides.html |
21
passluo 2013 年 8 月 28 日 via Android
看了大家的回答,对我之前的回复感动羞耻与忏悔…我太低俗了…sorry…
|