/ / Откриване на фигури с помощта на Open CV - c, opencv, разпознаване на формата

Откриване на фигури с помощта на Open CV - c, opencv, разпознаване на формата

Опитвах се да открия фигури в образаи също така пристигат на брой, колко такива форми присъстват в изображение, например знак плюс. Има ли вградени функции за откриване на такива форми? АКО се моля, уведомете ме.

Благодаря ти.

Отговори:

1 за отговор № 1

Трябва да намерите всички контури в изображението и след това да ги филтрирате.

Знаем, че знакът плюс има 12 ъгъла. Така че трябва да филтрирате всички контури, които имат 12 ъгъла. Разбира се, понякога това може да ви даде някои нежелани предмети. Така че можете да филтрирате отново онези контури, които имат ъгли между 2 реда (3 ъгъла) максимум 0.3 cos например.

Обърнете внимание на squares.cpp в пробата директория на OpenCV. Той намира всички контури с 4 ъгъла и ъгъл макс. 0,3 cos. Така че почти всички квадратчета.


0 за отговор № 2

Можете също така да погледнете трансформацията на Hough.


0 за отговор № 3

Един от начините за откриване на фигури е да се възползвате от тях cvBlobsLib.

Библиотека за свързване на двоични изображенияетикетиране на компонентите (подобно на функцията Matlab на regionprops). Той също така осигурява функции за манипулиране, филтриране и извличане на резултатите от екстрахираните петна, вижте секцията с функции за повече информация.

За пример вижте: https://www.youtube.com/watch?v=Y8Azb_upcIQ

Алтернативата е да се възползвате от EmguCV

Emgu CV е кръстосана платформа.Завъртете Net wrapped в изображението OpenCV обработваща библиотека. Разрешаване на извикването на функциите OpenCV от .NET съвместими езици като C #, VB, VC ++, IronPython и т.н. Обвивката може да се компилира в Mono и да работи на Windows, Linux, Mac OS X, iPhone, iPad и Android устройства.