我想制作一个Android自定义相机来捕捉卡片io等特定区域。我想捕捉边界内的图像。我也希望在屏幕上显示边框。我正在使用opencv
附上图片以供参考
答案 0 :(得分:2)
如果您使用的是opencv,那么我认为您将有一个名为onCameraFrame的回调,它会为您提供一个代表相机帧的Mat:
mRgba = inputFrame.rgba();
要生成边框,您可以在调用onCameraFrame之前返回mRgba之前简单地写入mRgba。我在这里做了类似的事情 - 在这种情况下我画了一个矩形:
Core.rectangle(mRgba, new Point(w * 1 / 3, h * 1 / 3), new Point(
w * 2 / 3, h * 2 / 3), Colours.RED);
现在,如果您只想要矩形的内容,那么您可以使用submat:
Rect roi = new Rect(new Point(w * 1 / 3 + 1, h * 1 / 3 + 1),
new Point(w * 2 / 3, h * 2 / 3));
Mat viewFinder = mRgba.submat(roi);
在这种情况下,viewFinder现在将包含矩形中包含的图像。
我希望能回答这个问题,但如果您需要更多信息,请回复我。