2020-09-20 OpenCVSharp4で逆投影 OpenCVSharp 画像処理 逆投影とは 2つの画像のヒストグラム中で近しいものを強調すること プログラム using System; using OpenCvSharp; namespace 逆投影 { class Program { static void Main(string[] args) { //画像の読み込み Mat src1 = new Mat(@"D:\Back_Projection_Theory0.jpg"); Mat src2 = new Mat(@"D:\Back_Projection_Theory2.jpg"); Cv2.ImShow("src1", src1); Cv2.ImShow("src2", src2); //src1をHSVに変換しHue(色相)のみを取り出す src1.CvtColor(ColorConversionCodes.BGR2HSV); Mat[] _hsv = src1.Split(); Mat hue = _hsv[0]; //src2をHSVに変換しHue(色相)のみを取り出す src2.CvtColor(ColorConversionCodes.BGR2HSV); Mat[] _hsv2 = src2.Split(); Mat hue2 = _hsv2[0]; //Hueヒストグラム作成 Mat hist = new Mat(); Cv2.CalcHist(new Mat[] { hue }, new int[] { 0 }, null, hist, 1, new int[] { 256 }, new Rangef[] { new Rangef(0, 256), }); hist.Normalize(0, 255, NormTypes.MinMax); //hu2 Mat backProj = new Mat(); Cv2.CalcBackProject(new Mat[] { hue2 }, new int[] { 0 }, hist, backProj, new Rangef[] { new Rangef(0, 180)}); Cv2.ImShow("backProject", backProj); Cv2.WaitKey(); } } } C# 参考 http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_imgproc/py_histograms/py_histogram_backprojection/py_histogram_backprojection.htmlhttps://docs.opencv.org/4.0.0/da/d7f/tutorial_back_projection.html