KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
my goal is to display a threshed image using the HSV color space in a way that only yellow objects will be shown. i use this code (based on a code given by the openCV 2.3.1 android samples): protected Bitmap processFrame(VideoCapture capture) { //capture.retrieve(mGray, Highgui.CV_CAP_ANDROID_GREY_FRAME); //Imgproc.cvtColor(mGray, mRgba, Imgproc.COLOR_GRAY2RGBA, 4); capture.retrieve(mHSV, Highgui.CV_CAP_ANDROID_COLOR_FRAME_RGBA); Imgproc.cvtColor(mHSV, mRgba, Imgproc.COLOR_RGB2HSV, 4); //Core.inRange(mRgba, new Scalar(20, 100, 100), new Scalar(30, 255, 255), mRgba); Bitmap bmp = Bitmap.createBitmap(mRgba.cols(), mRgba.rows(), Bitmap.Config.ARGB_8888); if (Utils.matToBitmap(mRgba, bmp)) return bmp; bmp.recycle(); return null; } the base (Abstract)class contains the "run" method: protected abstract Bitmap processFrame(VideoCapture capture); public void run() { ... bmp = processFrame(mCamera); ... canvas.drawBitmap(bmp, (canvas.getWidth() - bmp.getWidth()) / 2, (canvas.getHeight() - bmp.getHeight()) / 2, null); ... } i get this distorted preview which i think i can understand (HSV format) but why is it repeating itself (i`v draw a green line to emphasize it) 4 time? and what is the black horizontal line? what am i doing wrong? one last thing, what is the logic behind: Imgproc.cvtColor(mHSV, mRgba, Imgproc.COLOR_RGB2HSV, 4); why is it COLOR_RGB2HSV? shouldnt it be COLOR_HSV2RGB? Let's say i'v passed this problem, how can i make a gray level image with the yellow objects in their native color? i thought using the Core.inRange() method but when i do this i get black screen. yes, i guess i look like a total jerk but i need to start from somewhere, don't i? 10x! Update 1: i tried
Tags (comma-separated)
Save Edits
Cancel