adding VIEW_MODE_PIXELIZE to the 'image manipulations' sample
This commit is contained in:
parent
f87c2e49db
commit
fc44b3175e
@ -16,6 +16,7 @@ public class ImageManipulationsActivity extends Activity {
|
|||||||
public static final int VIEW_MODE_SOBEL = 3;
|
public static final int VIEW_MODE_SOBEL = 3;
|
||||||
public static final int VIEW_MODE_BLUR = 4;
|
public static final int VIEW_MODE_BLUR = 4;
|
||||||
public static final int VIEW_MODE_ZOOM = 5;
|
public static final int VIEW_MODE_ZOOM = 5;
|
||||||
|
public static final int VIEW_MODE_PIXELIZE = 6;
|
||||||
|
|
||||||
private MenuItem mItemPreviewRGBA;
|
private MenuItem mItemPreviewRGBA;
|
||||||
private MenuItem mItemPreviewCanny;
|
private MenuItem mItemPreviewCanny;
|
||||||
@ -23,8 +24,9 @@ public class ImageManipulationsActivity extends Activity {
|
|||||||
private MenuItem mItemPreviewSobel;
|
private MenuItem mItemPreviewSobel;
|
||||||
private MenuItem mItemPreviewBlur;
|
private MenuItem mItemPreviewBlur;
|
||||||
private MenuItem mItemPreviewZoom;
|
private MenuItem mItemPreviewZoom;
|
||||||
|
private MenuItem mItemPreviewPixelize;
|
||||||
|
|
||||||
public static int viewMode = VIEW_MODE_RGBA;
|
public static int viewMode = VIEW_MODE_RGBA;
|
||||||
|
|
||||||
public ImageManipulationsActivity() {
|
public ImageManipulationsActivity() {
|
||||||
Log.i(TAG, "Instantiated new " + this.getClass());
|
Log.i(TAG, "Instantiated new " + this.getClass());
|
||||||
@ -48,6 +50,7 @@ public class ImageManipulationsActivity extends Activity {
|
|||||||
mItemPreviewSobel = menu.add("Sobel");
|
mItemPreviewSobel = menu.add("Sobel");
|
||||||
mItemPreviewBlur = menu.add("Blur");
|
mItemPreviewBlur = menu.add("Blur");
|
||||||
mItemPreviewZoom = menu.add("Zoom");
|
mItemPreviewZoom = menu.add("Zoom");
|
||||||
|
mItemPreviewPixelize = menu.add("Pixelize");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,6 +69,8 @@ public class ImageManipulationsActivity extends Activity {
|
|||||||
viewMode = VIEW_MODE_BLUR;
|
viewMode = VIEW_MODE_BLUR;
|
||||||
else if (item == mItemPreviewZoom)
|
else if (item == mItemPreviewZoom)
|
||||||
viewMode = VIEW_MODE_ZOOM;
|
viewMode = VIEW_MODE_ZOOM;
|
||||||
|
else if (item == mItemPreviewPixelize)
|
||||||
|
viewMode = VIEW_MODE_PIXELIZE;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,9 @@ import android.util.Log;
|
|||||||
import android.view.SurfaceHolder;
|
import android.view.SurfaceHolder;
|
||||||
|
|
||||||
class ImageManipulationsView extends SampleCvViewBase {
|
class ImageManipulationsView extends SampleCvViewBase {
|
||||||
|
private Size mSize0;
|
||||||
|
private Size mSizeRgbaInner;
|
||||||
|
|
||||||
private Mat mRgba;
|
private Mat mRgba;
|
||||||
private Mat mGray;
|
private Mat mGray;
|
||||||
private Mat mIntermediateMat;
|
private Mat mIntermediateMat;
|
||||||
@ -48,6 +51,7 @@ class ImageManipulationsView extends SampleCvViewBase {
|
|||||||
mGray = new Mat();
|
mGray = new Mat();
|
||||||
mRgba = new Mat();
|
mRgba = new Mat();
|
||||||
mIntermediateMat = new Mat();
|
mIntermediateMat = new Mat();
|
||||||
|
mSize0 = new Size();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,6 +70,7 @@ class ImageManipulationsView extends SampleCvViewBase {
|
|||||||
|
|
||||||
if (mRgbaInnerWindow == null)
|
if (mRgbaInnerWindow == null)
|
||||||
mRgbaInnerWindow = mRgba.submat(top, top + height, left, left + width);
|
mRgbaInnerWindow = mRgba.submat(top, top + height, left, left + width);
|
||||||
|
mSizeRgbaInner = mRgbaInnerWindow.size();
|
||||||
|
|
||||||
if (mGrayInnerWindow == null && !mGray.empty())
|
if (mGrayInnerWindow == null && !mGray.empty())
|
||||||
mGrayInnerWindow = mGray.submat(top, top + height, left, left + width);
|
mGrayInnerWindow = mGray.submat(top, top + height, left, left + width);
|
||||||
@ -132,6 +137,15 @@ class ImageManipulationsView extends SampleCvViewBase {
|
|||||||
Size wsize = mZoomWindow.size();
|
Size wsize = mZoomWindow.size();
|
||||||
Core.rectangle(mZoomWindow, new Point(1, 1), new Point(wsize.width - 2, wsize.height - 2), new Scalar(255, 0, 0, 255), 2);
|
Core.rectangle(mZoomWindow, new Point(1, 1), new Point(wsize.width - 2, wsize.height - 2), new Scalar(255, 0, 0, 255), 2);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case ImageManipulationsActivity.VIEW_MODE_PIXELIZE:
|
||||||
|
capture.retrieve(mRgba, Highgui.CV_CAP_ANDROID_COLOR_FRAME_RGBA);
|
||||||
|
if (mRgbaInnerWindow == null)
|
||||||
|
CreateAuxiliaryMats();
|
||||||
|
Imgproc.resize(mRgbaInnerWindow, mIntermediateMat, mSize0, 0.1, 0.1, Imgproc.INTER_NEAREST);
|
||||||
|
Imgproc.resize(mIntermediateMat, mRgbaInnerWindow, mSizeRgbaInner, 0., 0., Imgproc.INTER_NEAREST);
|
||||||
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Bitmap bmp = Bitmap.createBitmap(mRgba.cols(), mRgba.rows(), Bitmap.Config.ARGB_8888);
|
Bitmap bmp = Bitmap.createBitmap(mRgba.cols(), mRgba.rows(), Bitmap.Config.ARGB_8888);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user