Как сделать снимок с помощью приложения камеры Android и использовать OpenCV для сравнения с другим изображением? - PullRequest
0 голосов
/ 01 июля 2019

Я использую камеру, чтобы использовать камеру Android. Оттуда я хочу иметь возможность делать снимки, сравнивать их с активами изображений, созданными в Android Studio, и по существу находить, к какому «шаблону» он ближе всего, и выполнять оттуда другие действия. На данный момент я только пытаюсь сравнить снимок, сделанный одним шаблоном, чтобы упростить процесс и заставить его работать в первую очередь.

Я попытался поиграться с Mats и matchTemplate, и я нахожусь в точке, где он сделает снимок, но после этого потерпит крах. Я пытался искать другие советы, но, похоже, не нашел ничего, что бы соответствовало тому, что я ищу. Кроме того, многое из того, что у меня есть, это из других поисковых запросов, таких как получение изображения шаблона в виде растрового изображения

Это то, что я имею до сих пор.

//Get template from where it’s saved in project
val Template = BitmapFactory.decodeResource(getResources(),R.mipmap.template) 
var TemplateMat = Mat(Template.width, Template.height, CvType.CV_8U)

//get picture taken from camera 
val bmp = data?.extras?.get("data") as Bitmap 
val newbmp = Bitmap.createScaledBitmap(bmp, 200, 200, false) 
var detectedMat = Mat(newbmp.width, newbmp.height,CvType.CV_8U) 

bitmapToMat(newbmp, detectedMat)
bitmapToMat(Template, TemplateMat) 

var result = Mat(TemplateMat.width(),TemplateMat.height(),CvType.CV_8U)
matchTemplate(detectedMat, TemplateMat,result, TM_CCOEFF_NORMED)
normalize(result,result,0.0,1.0, NORM_MINMAX,-1)

val minMax = minMaxLoc(result) 
val matchLoc = minMax.maxLoc

//If it finds a match, {do something}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...