opencv for andriod java代码实现霍夫变化(HoughLinesP)
Mat mCannyMat1=new Mat();
Mat rgbMat1 = new Mat();
Mat grayMat1 = new Mat();
Mat lines=new Mat();
Utils.bitmapToMat(bmp, rgbMat1);
//gray
Imgproc.cvtColor(rgbMat1, grayMat1, Imgproc.COLOR_RGB2GRAY);
//canny
Imgproc.Canny(grayMat1, mCannyMat1, 80, 160);
//houghlinesp
Imgproc.HoughLinesP(mCannyMat1, lines, 1, Math.PI /180, 30,100,30);
editText=(EditText)findViewById(R.id.show_feature_Text);
editText.setText("lines="+lines.dump());
for (int y=0;y<lines1.rows();y++)
{
double[] vec = lines1.get(y, 0);
double x1 = vec[0],
y1 = vec[1],
x2 = vec[2],
y2 = vec[3];
Point start = new Point(x1, y1);
Point end = new Point(x2, y2);
Imgproc.line(mCannyMat2, start, end, new Scalar(255,0,0), 1);
}
Bitmap grayBmp2 = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight(), Config.RGB_565);
Utils.matToBitmap(mCannyMat2, grayBmp2);
imageView.setImageBitmap(grayBmp2);