[32/64bit] 確率的ハフ変換を用いて2値画像の線分を検出します。
imgproc_HoughLinesP p1,p2,p3,p4,p5,p6,p7
p1 = sptr : IntPtr src p2 = sptr : IntPtr lines p3 = double : double rho p4 = double : double theta p5 = int : int threshold p6 = double : double minLineLength p7 = double : double maxLineG
(プラグイン / モジュール : OpenCvSharpExtern.dll)
この関数は,[164]に記述されている,線検出のための確率的ハフ変換アルゴリズムを実装しています:#include <opencv2/imgproc.hpp>#include <opencv2/highgui.hpp>using namespace cv;using namespace std;int main(int argc, char** argv){ Mat src, dst, color_dst; if( argc != 2 || !(src=imread(argv[1], 0).data) return -1; Canny( src, dst, 50, 200, 3 ); cvtColor( dst, color_dst, COLOR_GRAY2BGR ); vector<Vec4i> lines; HoughLinesP( dst, lines, 1, CV_PI/180, 80, 30, 10 ); for( size_t i = 0; i < lines.size(); i++ ) { line( color_dst, Point(lines[i][0], lines[i][1]), Point( lines[i][2], lines[i][3]), Scalar(0,0,255), 3, 8 ); } namedWindow("Source", 1 ); imshow("Source", src ); namedWindow("Detected Lines", 1 ); imshow("Detected Lines", color_dst ); waitKey(0); return 0;}fragmentこれは、関数のパラメータを調整した画像のサンプルです。imageそして、これは確率的ハフ変換の場合の上記プログラムの出力です:imageSee alsoLineSegmentDetectorExamples: samples/cpp/tutorial_code/ImgTrans/houghlines.cppを参照してください。 元関数名(C#): imgproc_HoughLinesP 元DLLエクスポート名: imgproc_HoughLinesP 参照元CSファイル: Internal\PInvoke\NativeMethods\imgproc\NativeMethods_imgproc.cs ▼ C言語側関数定義
CVAPI(ExceptionStatus) imgproc_HoughLinesP(cv::_InputArray *src, std::vector<cv::Vec4i> *lines, double rho, double theta, int threshold, double minLineLength, double maxLineGap) { BEGIN_WRAP cv::HoughLinesP(*src, *lines, rho, theta, threshold, minLineLength, maxLineGap); END_WRAP }
プラグイン / モジュール | OpenCvSharpExtern.dll |
バージョン | 1.00 |
作成日 | 2021/11/30 |
著作者 | inovia |
URL | https://hsp.moe/ |
備考 | #include "OpenCvSharpExtern32.as"
#include "OpenCvSharpExtern64.as" 使用するHSPランタイムのビット数に合わせたインクルードファイルを使用すること |
タイプ | OpenCVSharpラッパーDLL |
グループ | NativeMethods_imgproc |
対応環境 |
|
hs ファイル | hsphelp\OpenCvSharpExtern.hs |