Quantcast
Channel: OpenCV Q&A Forum - Latest question feed
Viewing all articles
Browse latest Browse all 19555

How to find borders and crop the image

$
0
0
In my project, I am try to detect a handwritten character. How to find borders of image based on pixel colour and crop image. I wrote some code but it perfectly crops only at top left side written character. It cannot work proper for all images. My code is for (int x = 0; x < bt.getWidth(); x++) { for (int y = 0; y < bt.getHeight(); y++) { if (bt.getPixel(x, y) == Color.BLACK) { if (xmin == 0 && xmax==0) xmin = x; if (ymin == 0 && ymax==0) ymin = y; if (x > xmax && x>xmin) { xmax = x; } if (x < xmin && x < xmax) { xmin = x; } if (y > ymax && y>ymin) { ymax = y; } if (y < ymin && y < ymax) { ymin = y; } // Log.i("pix bef","" + xmin + " " + ymin + " " + xmax + " " + ymax); if((xmin+xmax)>bt.getWidth()){ xmax=bt.getWidth()-xmin; } if((ymin+ymax)>bt.getHeight()){ ymax=bt.getHeight()-ymin; } } } } Rect roi = new Rect(xmin, ymin, xmax, ymax); Mat cr = new Mat(mm, roi); ![image description](/upfiles/14645805238677832.png) ![image description](/upfiles/14645805575918109.png) The output is accurate at top left only. Getting much weight space at top right. Please solve how to eliminate extra weight space. Thank you.

Viewing all articles
Browse latest Browse all 19555

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>