Поиск по сайту
Showing results for tags 'поиск по шаблону'.
Найдено 2 результата
-
Здравствуйте!такой вопрос: создал прилагу по поиску фрагмента на картинке по шаблону 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 #define CV_TM_SQDIFF 0 #include<opencv2\highgui\highgui.hpp> #include<opencv2\core\core.hpp> #include<opencv2\opencv.hpp> #include<opencv\cv.h> #include<stdio.h> using namespace cv; using namespace std; double minval, maxval; int main(int argc, const char** argv) { setlocale(LC_ALL, "Russian"); string ishod_im = "TEST.jpg"; char ish_is[100]; strcpy(ish_is, ishod_im.c_str()); IplImage* image = 0; image = cvLoadImage(ish_is, 1); string shablon_im = "X.jpg"; char ish_sh[100]; strcpy(ish_sh, shablon_im.c_str()); IplImage* templ = 0; templ = cvLoadImage(ish_sh, 1); int width = templ->width; int height = templ->height; IplImage *res = cvCreateImage(cvSize((image->width - templ->width + 1), (image->height - templ->height + 1)), IPL_DEPTH_32F, 1); cvMatchTemplate(image, templ, res, CV_TM_SQDIFF); CvPoint minloc, maxloc; cvMinMaxLoc(res, &minval, &maxval, &minloc, &maxloc, 0); cvRectangle(image, cvPoint(minloc.x, minloc.y), cvPoint(minloc.x + templ->width - 1, minloc.y + templ->height - 1), CV_RGB(0, 0, 255), 2, 8); cvShowImage("Совпадения", image); waitKey(0); return 0; } С большего все работает норм, интересует два вопроса:1. как сделать так чтобы находило более одного совпадения? (вроде как есть какой-то способ "скользящего окна", но хотелось бы знать как его реализовать. а может и не им надо пользоваться)2. как сделать чтобы в случае отсутствия совпадения не показывал ни одной рамки (сейчас прога ищет совпадения, но даже если адекватных нет выдает хоть какой-то результат (неверный))
- 11 replies
-
- поиск по шаблону
- множественный поиск
- (и ещё %d)
-
Даны некоторые наборы изображений. Необходимы найти на них пузырьки и вычислить их параметры. Как организовать поиск самих пузырьков 1) Если только по контурам, после бинаризации непонятно как корректно обрабатывать. Нужно внутренности пузырьков как то залить, иначе мешается то, что внутри светлое. 2) Можно ли здесь воспользоваться matchTemplate? и Вообще какой оптимлаьный путь решения задачи?