samwellwang

samwellwang

coder
twitter

OpenCV

OpenCV の全称は Open Source Computer Vision Library であり、クロスプラットフォームのコンピュータビジョンライブラリです。

2019-01-08

OpenCV の全称は Open Source Computer Vision Library であり、クロスプラットフォームのコンピュータビジョンライブラリです。OpenCV はインテル社によって発起され、開発に参加しており、BSD ライセンスで発行されており、商業および研究分野で無料で使用できます。OpenCV はリアルタイムの画像処理、コンピュータビジョン、パターン認識プログラムの開発に使用できます。このプログラムライブラリは、インテル社の IPP を使用して加速処理することもできます。

OpenCV は以下の分野の問題を解決するために使用できます:

拡張現実
顔認識
ジェスチャー認識
人間とコンピュータのインタラクション
動作認識
運動追跡
物体認識
画像分割
ロボット

OpenCV は C++ 言語で書かれており、その主要なインターフェースも C++ 言語ですが、大量の C 言語インターフェースも保持されています。このライブラリには、Python、Java、MATLAB/OCTAVE(バージョン 2.5)のインターフェースも多数あります。これらの言語の API インターフェース関数はオンラインドキュメントを通じて取得できます。現在、C#、Ch、Ruby へのサポートも提供されています。

すべての新しい開発とアルゴリズムは C++ インターフェースを使用しています。CUDA を使用した GPU インターフェースも 2010 年 9 月から実装されました。
以上の内容はウィキペディアの OpenCV 項目からの抜粋です。

以下のコードは OpenCV を使用して実装された簡単な画像回転機能です(idea の設定は本当に厄介です…)

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.Point;
import org.opencv.imgproc.Imgproc;
import org.opencv.imgcodecs.Imgcodecs;

import static org.opencv.highgui.HighGui.imshow;
import static org.opencv.highgui.HighGui.waitKey;

public class ImageRotateDemo {
	
	public static Mat rotate(Mat src, double angele) {
	    Mat dst = src.clone();
	    Point center = new Point(src.width() / 2.0, src.height() / 2.0);
	    Mat affineTrans = Imgproc.getRotationMatrix2D(center, angele, 1.0);
	    Imgproc.warpAffine(src, dst, affineTrans, dst.size(), Imgproc.INTER_NEAREST);
	    return dst;
	}
	public static void main(String[] args){
		System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
		Mat src=Imgcodecs.imread("E:/opencv/project/YCY.jpg");
        src= rotate(src,90.0);
		imshow("表示画像", src);
		waitKey();
		// Imgcodecs.imwrite("E:/opencv/project/YCYrotate.jpg", src);
	}
}
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。