カメラの内部パラメータと外部パラメータが既知の状態で、以下のコードで歪み補正を行おうとしているのですが、Cv.Undistort2の行で「Unknown Array Type」というエラーが出ます。
どなたか、間違いを指摘願います。よろしくお願いいたします。
C#
1using System; 2using System.Collections.Generic; 3using System.Linq; 4using System.Data; 5using System.Drawing; 6using System.Text; 7using System.Threading.Tasks; 8using OpenCvSharp; 9using OpenCvSharp.Blob; 10using OpenCvSharp.Extensions; 11 12// 入力画像と出力画像 13IplImage src = new IplImage("C:\pictures\test.png"); 14IplImage dst = new IplImage(); 15 16// 焦点距離と主点 17fx = 759.747; 18fx = 761.756; 19Cx = 540.271; 20Cy = 283.871 21// 内部行列、歪み係数配列の定義 22double[,] intrinsic = new double[,] { { fx, 0.0, Cx }, { 0.0, fy, Cy }, { 0.0, 0.0, 1.0 } }; 23double[,] distortion = new double[,] { { 0.01588, -0.078833, 0.002736, 0.000945 } }; 24CvMat intrinsicMatrix = new CvMat(3, 3, MatrixType.F32C1, intrinsic); 25CvMat distortionVector = new CvMat(1, 4, MatrixType.F32C1, distortion); 26 27// 歪み補正 28Cv.Undistort2(src, dst, intrinsicMatrix, distortionVector);
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/03 18:09