Tag: 计算机视觉

在OpenCV中训练SIFTfunction

我创建了一个小型SIFT应用程序,它抓取关键点并将其保存到文本文件中。 我使用它来从徽标(例如AT&T)获取信息,并使用它来与具有该徽标的其他图像进行比较。 问题是我的许多图像都有徽标的变化,由于缩放,旋转或照明,它不会捡起它。 我想知道是否有可能获得一组图像,抓住它的关键点,并通过某种训练算法运行它来增强检测。 我在网上搜索了培训SIFT关键点的方法,但它们都在某种博士论文中,这些论文都涉及到所有这些数学算法,老实说,因为我没有参加任何数学课程。 如果有人有任何建议或链接,以便能够了解培训的工作原理或需要做些什么来实施,请告诉我。 或者,如果有人在没有SIFT的情况下有更简单的方法,那么我会非常感谢其他forms的检测。 以下列出了我尝试过的内容: 冲浪 因为返回无效结果而失败 Haar特征与Adaboosting 因为我在2011年7月11日开始训练100张带有100张负片的正面模型而失败,并且截至2011年7月19日仍在运行 模板与具有和不具有阈值的相同徽标的各种变换匹配 失败,因为我必须根据它无法在图像中检测任何内容的次数指数地创建徽标 提前致谢

什么是C / C ++中最好的计算机视觉库?

在C / C ++中使用Computer Vision时,我需要选择哪些库? 我意识到谷歌有很多好的结果,但也许有很棒的图书馆,它错过了。

寻找OpenCV教程

有谁知道你可以推荐的一些好的易学的openCV c / c ++教程? 我试过谷歌,但我对结果不太满意。

OpenCV点目标检测未找到所有目标,并发现圆圈是偏移的

我正试图检测黑/白点目标的中心,就像在这张照片中一样。 我试过使用cv2.HoughCircles方法,但是1,我只能检测2到3个目标,2,当我将找到的圆绘制回图像时,它们总是略微偏移。 我使用了错误的方法吗? 我应该使用findContours还是完全不同的东西? 这是我的代码: import cv2 from cv2 import cv import os import numpy as np def showme(pic): cv2.imshow(‘window’,pic) cv2.waitKey() cv2.destroyAllWindows() im=cv2.imread(‘small_test.jpg’) gray=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY) #I’ve tried blur,bw,tr… all give me poor results. blur = cv2.GaussianBlur(gray,(3,3),0) n,bw = cv2.threshold(blur,120,255,cv2.THRESH_BINARY) tr=cv2.adaptiveThreshold(blur,255,0,1,11,2) circles = cv2.HoughCircles(gray, cv.CV_HOUGH_GRADIENT, 3, 100, None, 200, 100, 5, 16) try: n = np.shape(circles) circles=np.reshape(circles,(n[1],n[2])) […]

使用鼠标从video上的矩形设置ROI

我有video,当程序运行时,video的第一帧被视为图像,并允许用户在图像上绘制矩形,在绘制矩形后,用户必须右键单击图像以确认矩形。 当鼠标右键单击时,图像消失,video开始播放,其上绘制的矩形。 我能够完美地绘制矩形,但我无法将该矩形设置为ROI。 我想要做的是将该矩形设置为感兴趣区域(ROI),以对该ROI进行一些图像处理。 我无法将我绘制的矩形设置为ROI。 我在Visual Studio 2010中使用OpenCV。稍后我将尝试将此程序集成到QT创建器中。 任何帮助,将不胜感激。 提前致谢。 我的完整代码如下: #include #include #include #include #include #include #include #include #include using namespace cv; using namespace std; void my_mouse_callback( int event, int x, int y, int flags, void* param ); bool destroy=false; CvRect box; IplImage* image; IplImage* frame2; bool drawing_box = false; void draw_box( IplImage* img, […]