在java opencv中使用Explate时更改大小
我在java中使用opencv。我面临着一个奇怪的问题,在我使用在java opencv中使用Explate时更改大小,java,android,opencv,Java,Android,Opencv,我在java中使用opencv。我面临着一个奇怪的问题,在我使用放大功能后,我的图像会改变大小。在报告中明确指出: dst-与src大小和类型相同的输出图像 我的代码是: Log.d(TAG, "dilate size1 " + dilate.size().height + " " + dilate.size().width); Imgproc.GaussianBlur(warpg, smooth, new Size(3, 3), 3); Log.d(TAG, "smooth size1 "
放大功能后,我的图像会改变大小。在报告中明确指出:
dst-与src大小和类型相同的输出图像
我的代码是:
Log.d(TAG, "dilate size1 " + dilate.size().height + " " + dilate.size().width);
Imgproc.GaussianBlur(warpg, smooth, new Size(3, 3), 3);
Log.d(TAG, "smooth size1 " + smooth.size().height + " " + smooth.size().width);
Imgproc.adaptiveThreshold(smooth, thresh, 255, 0, 1, 5, 2);
Log.d(TAG, "thresh size1 " + thresh.size().height + " " + thresh.size().width);
kernel = Imgproc.getStructuringElement(Imgproc.MORPH_CROSS, new Size(3, 3));
Imgproc.erode(thresh, erode, kernel, new Point(-1, -1), 1);
Log.d(TAG, "erode size1 " + erode.size().height + " " + erode.size().width);
Imgproc.dilate(erode, dilate, kernel, new Point(-1, -1), 1);
Imgproc.findContours(thresh, contours, hierarchy,
Imgproc.RETR_TREE, Imgproc.CHAIN_APPROX_SIMPLE);
Log.d(TAG, "dilate size2 " + dilate.size().height + " " + dilate.size().width);
输出为:
dilate size1 450.0 450.0
smooth size1 450.0 450.0
thresh size1 450.0 450.0
erode size1 450.0 450.0
dilate size2 1.0 313.0
有什么想法吗?我解决了以下问题:
dilate = new Mat(erode.rows(), erode.cols(), erode.type());
erode.copyTo(dilate);
Imgproc.dilate(dilate, dilate, kernel, new Point(-1, -1), 1);
干杯