2012-06-26 17 views
5

Daha sonra kırpılacak sayfanın alanını otomatik olarak seçmek istiyorum. Kenar algılamanın yararlı olabileceğini ve görüntünün kenarlarını bulmak için kanlı kenar algılamanın kullanılabileceğini düşündüm. Şimdi bu resme sahibim! ancak sayfanın alanını bir dikdörtgen olarak seçmek için net bir fikrim yok. Herkes bu problem için bir yöntem veya uygulama önerebilir mi? Gerçekten yapmak istediğim, sayfanın alanını aşağıdaki gibi seçmektir. Bunu yapmak için başka bir yöntem var mı? Matlab kullanarak dijital görüntü işlemeye giriş kitabında sınır tespitini gördüm. Ama ben buna aşina değilim. Bunu bu amaçla kullanabilir miyim?Kırpma görüntüsünü, kenar algılama özelliğini kullanarak alanı seçtikten sonra görüntüyü kırpın

+1

yinelenen: http://stackoverflow.com/questions/8667818/opencv-c-obj-c-detecting-a-sheet-of-paper-square-detection/ – ArtemStorozhuk

+0

Teşekkürler. Bunu kontrol edeceğim. Bu teknikler için java uygulamasını biliyor musunuz? Bunun için opencv veya C++'den kaçınmayı tercih ederim. – chAmi

+0

Evet, bakınız [bu eğitim] (http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/android_binary_package.html#android-binary-package). Ama C++ çok daha hızlı olacak. – ArtemStorozhuk

cevap

0

"Canny-ed" resminizin olduğunu varsayalım. Artık kenarları bulmak ve saklamak için Imgproc.findCountours'u kullanabilirsiniz (bunun için List<MatOfPoint> gerekir). findContours'u kullanmadan önce, findContours hedefinizi özlemediğinden emin olmak için konturları (bu "şişman" satırları bulmaya yardımcı olabilecek Imgproc.dilate ile oynayacağım). Ardından, ROI'nizi almak için yalnızca Imgproc.boudningRect'u kullanmanız gerekir. Sonra sadece bu ROI kullanarak görüntü kırpın.

İlgili konular