2014-06-07 82 views
1

我正在开发一个android平台上的应用程序。该应用程序基本上需要使用摄像头捕获图像,然后分析捕获的图像,以查看红色和蓝色的结束位置,下一步是制作一个轮廓圆形的圆形和三角形(已完成)。转移到下一步:分段 你能帮我分割这些图像吗?有任何想法吗?我如何使用opencv4android分割图像

+0

你可以扩展你的意思是细分;你的意思是围绕每个确定的形状创建一个边界框并将其视为单独的图像? - 如果您有示例图片,这将有所帮助。 – timegalore

+0

我做了一个轮廓arround一个对象,现在我想单独在图像视图中的这个对象 – user3709518

+0

您可以使用Imgproc.boundingRect确定轮廓的边界矩形,然后用它来创建一个子然后可以从中创建一个新的图像。 – timegalore

回答

3

假设c是你的轮廓:然后

Rect roi = Imgproc.boundingRect(c); 
Mat newMat = mRgba.submat(roi); 
Bitmap bmp1 = Bitmap.createBitmap(newMat.width(), newMat.height(), 
      Bitmap.Config.ARGB_8888); 
Utils.matToBitmap(newMat, bmp1); 

BMP1应持有你想要的图像。

然而,这会给你一个矩形的图像,显​​示你原来的对象的边界区域,所以如果它是一个你已经检测到的圆圈,你会得到的圆圈加上包围在边界框中的图像的所有其他部分。如果你只是想要检测到的对象,并将其余的内容作为透明,那么这是一个稍微困难的问题。