如何使用Opencv从Java中的图像中检测车牌?
我尝试从图像中检测车牌 我的步骤: 1/滤除噪声(平滑高斯) 2/转换为灰度图像 3/阈值二进制 4/膨胀和侵蚀 5/Cany过滤器和findCOntours 但是我在查找和绘制许可证周围的轮廓时遇到了问题。我是Java初学者 这是我的密码:如何使用Opencv从Java中的图像中检测车牌?,java,opencv,image-processing,javacv,Java,Opencv,Image Processing,Javacv,我尝试从图像中检测车牌 我的步骤: 1/滤除噪声(平滑高斯) 2/转换为灰度图像 3/阈值二进制 4/膨胀和侵蚀 5/Cany过滤器和findCOntours 但是我在查找和绘制许可证周围的轮廓时遇到了问题。我是Java初学者 这是我的密码: public class ex1 { public static void main(String[] args) { //read image IplImage orgImg = cvLoadImage("F:\\bs9.jpg")
public class ex1 {
public static void main(String[] args) {
//read image
IplImage orgImg = cvLoadImage("F:\\bs9.jpg");
//smooth Gaussian
cvSmooth(orgImg,orgImg,CV_GAUSSIAN,7);
// gray image
IplImage grayImg = cvCreateImage(cvGetSize(orgImg),orgImg.depth(),1);
cvCvtColor(orgImg,grayImg,CV_BGR2GRAY);
//Threshold binary
cvThreshold(grayImg,grayImg,230,255,CV_THRESH_BINARY_INV);
//dalition - erosion
cvErode(grayImg,grayImg,null,3);
cvDilate(grayImg,grayImg,null,2);
// canny filter
IplImage egde = cvCreateImage(cvSize(grayImg.width(),grayImg.height()),IPL_DEPTH_8U,1);
cvCanny(grayImg,egde,140,240,7);
// show image
cvShowImage("org",orgImg);
cvShowImage("binary",grayImg);
cvShowImage("edge",egde);
//save image
cvWaitKey();