我正在尝试使用OpenCV在android上创建银行卡扫描仪,首先,我创建了一个区域,用户可以在其中扫描其卡,然后将其裁剪,然后在矩形区域中苦苦挣扎并将其放置在中心,关于我该怎么做的任何建议?非常感谢
这是我到目前为止所做的:
它正在做一个矩形并居中,但是大小不够,我尝试更改数字,但位置未居中。
public Mat onCameraFrame(CameraBridgeViewBase.CvCameraViewFrame inputFrame) {
Mat mrgba = inputFrame.rgba();
int w = mrgba.width();
int h = mrgba.height();
Imgproc.rectangle(mrgba, new Point(w * 1 / 3, h * 1 / 3), new Point(
w * 2 / 3, h * 2 / 3 ), new Scalar( 255, 0, 0 ), 5
);
return mrgba;
}
输出
答案 0 :(得分:0)
尝试一下:
int w = mrgba.width();
int h = mrgba.height();
int w_rect = w*3/4; // or 640
int h_rect = h*3/4; // or 480
Imgproc.rectangle(mrgba, new Point( (w-w_rect)/2, (h-h_rect)/2 ), new Point(
(w+w_rect)/2, (h+h_rect)/2 ), new Scalar( 255, 0, 0 ), 5
确保 w_rect 和 h_rect 分别小于 w 和 h 。