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
5
A
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.
yinelenen: http://stackoverflow.com/questions/8667818/opencv-c-obj-c-detecting-a-sheet-of-paper-square-detection/ – ArtemStorozhuk
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
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