<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic cvCalibrateCamera2 - problem in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/cvCalibrateCamera2-problem/m-p/878881#M9911</link>
    <description>i've got a severe problem with cvcalibrate2...&lt;BR /&gt;
&lt;BR /&gt;
maybe one of you can help me...&lt;BR /&gt;
&lt;BR /&gt;
i've got a correspondence list where coordinates of my 3D calibration&lt;BR /&gt;
rig are assigned to 2d image coordinates...&lt;BR /&gt;
&lt;BR /&gt;
when i call cvcalibrate2 i receive an Bas argument exception...&lt;BR /&gt;
it says that for non-planar calibration rigs i had to specify an&lt;BR /&gt;
initial intrinsic matrix... that's funny because I specified it (as&lt;BR /&gt;
you can see in the code...)&lt;BR /&gt;
&lt;BR /&gt;
Can anybody imagine what I'm doing wrong ?&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;&lt;PRE&gt;
#include &lt;IOSTREAM&gt;&lt;/IOSTREAM&gt;&lt;/PRE&gt;&lt;PRE&gt;
#include &lt;FSTREAM&gt;&lt;/FSTREAM&gt;&lt;/PRE&gt;&lt;PRE&gt;
#include &lt;VECTOR&gt;&lt;/VECTOR&gt;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
#include &lt;CONIO.H&gt;&lt;/CONIO.H&gt;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
#include "cv.h"&lt;/PRE&gt;&lt;PRE&gt;
#include "cxcore.h"&lt;/PRE&gt;&lt;PRE&gt;
#include "highgui.h"&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
using namespace std;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
void main (void) {&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
ifstream infile;&lt;/PRE&gt;&lt;PRE&gt;
infile.open ("correspondence_list1_mikeda.txt", ifstream::in);&lt;/PRE&gt;&lt;PRE&gt;
int x,y,z,n1,n2,n3,u,v;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
vector&lt;INT&gt; modelPointArrX;&lt;/INT&gt;&lt;/PRE&gt;&lt;PRE&gt;
vector&lt;INT&gt; modelPointArrY;&lt;/INT&gt;&lt;/PRE&gt;&lt;PRE&gt;
vector&lt;INT&gt; modelPointArrZ;&lt;/INT&gt;&lt;/PRE&gt;&lt;PRE&gt;
vector&lt;INT&gt; imagePointArrX;&lt;/INT&gt;&lt;/PRE&gt;&lt;PRE&gt;
vector&lt;INT&gt; imagePointArrY;&lt;/INT&gt;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
while (!infile.eof()) {&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
infile &amp;gt;&amp;gt; x;&lt;/PRE&gt;&lt;PRE&gt;
infile &amp;gt;&amp;gt; y;&lt;/PRE&gt;&lt;PRE&gt;
infile &amp;gt;&amp;gt; z;&lt;/PRE&gt;&lt;PRE&gt;
infile &amp;gt;&amp;gt; u;&lt;/PRE&gt;&lt;PRE&gt;
infile &amp;gt;&amp;gt; v;&lt;/PRE&gt;&lt;PRE&gt;
infile &amp;gt;&amp;gt; n1;&lt;/PRE&gt;&lt;PRE&gt;
infile &amp;gt;&amp;gt; n2;&lt;/PRE&gt;&lt;PRE&gt;
infile &amp;gt;&amp;gt; n3;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
modelPointArrX.push_back(x);&lt;/PRE&gt;&lt;PRE&gt;
modelPointArrY.push_back(y);&lt;/PRE&gt;&lt;PRE&gt;
modelPointArrZ.push_back(z);&lt;/PRE&gt;&lt;PRE&gt;
imagePointArrX.push_back(u);&lt;/PRE&gt;&lt;PRE&gt;
imagePointArrY.push_back(v);&lt;/PRE&gt;&lt;PRE&gt;
}&lt;/PRE&gt;&lt;PRE&gt;
infile.close();&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
CvMat* pModelPoints = cvCreateMat(modelPointArrX.size(), 3, CV_64FC1);&lt;/PRE&gt;&lt;PRE&gt;
CvMat* pImagePoints = cvCreateMat(imagePointArrX.size(), 2, CV_64FC1);&lt;/PRE&gt;&lt;PRE&gt;
CvMat* pPointCounts = cvCreateMat(1, 1, CV_32SC1);&lt;/PRE&gt;&lt;PRE&gt;
CvMat* pIntrinsicMat = cvCreateMat(3, 3, CV_64FC1);&lt;/PRE&gt;&lt;PRE&gt;
CvMat* pDistortionCoeffs = cvCreateMat(4, 1, CV_64FC1);&lt;/PRE&gt;&lt;PRE&gt;
CvMat* rotation_vectors = cvCreateMat(1, 3, CV_64FC1);&lt;/PRE&gt;&lt;PRE&gt;
CvMat* translation_vectors = cvCreateMat(1, 3, CV_64FC1);&lt;/PRE&gt;&lt;PRE&gt;
CvSize size = cvSize(1536,512);&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
pPointCounts-&amp;gt;data.i[0] = modelPointArrX.size();&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
cvmSet(pIntrinsicMat, 0, 0, 8.0); cvmSet(pIntrinsicMat, 0, 1,&lt;/PRE&gt;&lt;PRE&gt;
0.0); cvmSet(pIntrinsicMat, 0, 2, 768.0);&lt;/PRE&gt;&lt;PRE&gt;
cvmSet(pIntrinsicMat, 1, 0, 0.0); cvmSet(pIntrinsicMat, 1, 1,&lt;/PRE&gt;&lt;PRE&gt;
8.0); cvmSet(pIntrinsicMat, 1, 2, 256.0);&lt;/PRE&gt;&lt;PRE&gt;
cvmSet(pIntrinsicMat, 2, 0, 0.0); cvmSet(pIntrinsicMat, 2, 1,&lt;/PRE&gt;&lt;PRE&gt;
0.0); cvmSet(pIntrinsicMat, 2, 2, 1.0);&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
for(int i = 0; i &amp;lt; modelPointArrX.size(); i++) {&lt;/PRE&gt;&lt;PRE&gt;
cvmSet(pModelPoint
s, i, 0, modelPointArrX&lt;I&gt;);&lt;/I&gt;&lt;/PRE&gt;&lt;PRE&gt;
cvmSet(pModelPoints, i, 1, modelPointArrY&lt;I&gt;);&lt;/I&gt;&lt;/PRE&gt;&lt;PRE&gt;
cvmSet(pModelPoints, i, 2, modelPointArrZ&lt;I&gt;);&lt;/I&gt;&lt;/PRE&gt;&lt;PRE&gt;
}&lt;/PRE&gt;&lt;PRE&gt;
for(int i = 0; i &amp;lt; modelPointArrX.size(); i++) {&lt;/PRE&gt;&lt;PRE&gt;
cvmSet(pImagePoints, i, 0, imagePointArrX&lt;I&gt;);&lt;/I&gt;&lt;/PRE&gt;&lt;PRE&gt;
cvmSet(pImagePoints, i, 1, imagePointArrY&lt;I&gt;);&lt;/I&gt;&lt;/PRE&gt;&lt;PRE&gt;
}&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
cvCalibrateCamera2(pModelPoints, pImagePoints, pPointCounts, size,&lt;/PRE&gt;&lt;PRE&gt;
pIntrinsicMat, pDistortionCoeffs, rotation_vectors,&lt;/PRE&gt;&lt;PRE&gt;
translation_vectors, 0);&lt;/PRE&gt;&lt;PRE&gt;
//cvCalibrateCamera2(pModelPoints, pImagePoints, pPointCounts, size,&lt;/PRE&gt;&lt;PRE&gt;
pIntrinsicMat, pDistortionCoeffs, rotation_vectors,&lt;/PRE&gt;&lt;PRE&gt;
translation_vectors, CV_CALIB_USE_INTRINSIC_GUESS);&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
cout &amp;lt;&amp;lt; "FocalLength_X : " &amp;lt;&amp;lt; cvmGet(pIntrinsicMat, 0, 0) &amp;lt;&amp;lt; endl;&lt;/PRE&gt;&lt;PRE&gt;
cout &amp;lt;&amp;lt; "FocalLength_Y : " &amp;lt;&amp;lt; cvmGet(pIntrinsicMat, 1, 1) &amp;lt;&amp;lt; endl;&lt;/PRE&gt;&lt;PRE&gt;
cout &amp;lt;&amp;lt; "PrincipalPoint_X : " &amp;lt;&amp;lt; cvmGet(pIntrinsicMat, 0, 2) &amp;lt;&amp;lt; endl;&lt;/PRE&gt;&lt;PRE&gt;
cout &amp;lt;&amp;lt; "PrincipalPoint_Y : " &amp;lt;&amp;lt; cvmGet(pIntrinsicMat, 1, 2) &amp;lt;&amp;lt; endl;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
cout &amp;lt;&amp;lt; "Radial Distortion 1 : " &amp;lt;&amp;lt; cvmGet(pDistortionCoeffs, 0, 0)&lt;/PRE&gt;&lt;PRE&gt;
&amp;lt;&amp;lt; endl;&lt;/PRE&gt;&lt;PRE&gt;
cout &amp;lt;&amp;lt; "Radial Distortion 2 : " &amp;lt;&amp;lt; cvmGet(pDistortionCoeffs, 1, 0)&lt;/PRE&gt;&lt;PRE&gt;
&amp;lt;&amp;lt; endl;&lt;/PRE&gt;&lt;PRE&gt;
cout &amp;lt;&amp;lt; "Tangential Distortion 1 : " &amp;lt;&amp;lt; cvmGet(pDistortionCoeffs, 2,&lt;/PRE&gt;&lt;PRE&gt;
0) &amp;lt;&amp;lt; endl;&lt;/PRE&gt;&lt;PRE&gt;
cout &amp;lt;&amp;lt; "Tangential Distortion 2 : " &amp;lt;&amp;lt; cvmGet(pDistortionCoeffs, 3,&lt;/PRE&gt;&lt;PRE&gt;
0) &amp;lt;&amp;lt; endl;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
string inputFileName = "testimage.bmp" ;&lt;/PRE&gt;&lt;PRE&gt;
string resultFileName = "testimage_undistorted.bmp" ;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
// Open the source image&lt;/PRE&gt;&lt;PRE&gt;
IplImage* pSourceImage = cvLoadImage(inputFileName.c_str(), -1);&lt;/PRE&gt;&lt;PRE&gt;
if(pSourceImage == 0)&lt;/PRE&gt;&lt;PRE&gt;
return ;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
// Create destination image&lt;/PRE&gt;&lt;PRE&gt;
IplImage* pDestinationImage = cvCloneImage(pSourceImage);&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
// Undistort image&lt;/PRE&gt;&lt;PRE&gt;
cvUndistort2(pSourceImage, pDestinationImage, pIntrinsicMat,&lt;/PRE&gt;&lt;PRE&gt;
pDistortionCoeffs);&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
cvSaveImage(resultFileName.c_str(), pDestinationImage);&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
cvReleaseImage(&amp;amp;pDestinationImage);&lt;/PRE&gt;&lt;PRE&gt;
cvReleaseImage(&amp;amp;pSourceImage);&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
cvReleaseMat(&amp;amp;pDistortionCoeffs);&lt;/PRE&gt;&lt;PRE&gt;
cvReleaseMat(&amp;amp;pIntrinsicMat);&lt;/PRE&gt;&lt;PRE&gt;
cvReleaseMat(&amp;amp;pPointCounts);&lt;/PRE&gt;&lt;PRE&gt;
cvReleaseMat(&amp;amp;pImagePoints);&lt;/PRE&gt;&lt;PRE&gt;
cvReleaseMat(&amp;amp;pModelPoints);&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
_getch();&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
}&lt;/PRE&gt;</description>
    <pubDate>Tue, 06 Mar 2007 10:45:02 GMT</pubDate>
    <dc:creator>littledragon_ike</dc:creator>
    <dc:date>2007-03-06T10:45:02Z</dc:date>
    <item>
      <title>cvCalibrateCamera2 - problem</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/cvCalibrateCamera2-problem/m-p/878881#M9911</link>
      <description>i've got a severe problem with cvcalibrate2...&lt;BR /&gt;
&lt;BR /&gt;
maybe one of you can help me...&lt;BR /&gt;
&lt;BR /&gt;
i've got a correspondence list where coordinates of my 3D calibration&lt;BR /&gt;
rig are assigned to 2d image coordinates...&lt;BR /&gt;
&lt;BR /&gt;
when i call cvcalibrate2 i receive an Bas argument exception...&lt;BR /&gt;
it says that for non-planar calibration rigs i had to specify an&lt;BR /&gt;
initial intrinsic matrix... that's funny because I specified it (as&lt;BR /&gt;
you can see in the code...)&lt;BR /&gt;
&lt;BR /&gt;
Can anybody imagine what I'm doing wrong ?&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;&lt;PRE&gt;
#include &lt;IOSTREAM&gt;&lt;/IOSTREAM&gt;&lt;/PRE&gt;&lt;PRE&gt;
#include &lt;FSTREAM&gt;&lt;/FSTREAM&gt;&lt;/PRE&gt;&lt;PRE&gt;
#include &lt;VECTOR&gt;&lt;/VECTOR&gt;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
#include &lt;CONIO.H&gt;&lt;/CONIO.H&gt;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
#include "cv.h"&lt;/PRE&gt;&lt;PRE&gt;
#include "cxcore.h"&lt;/PRE&gt;&lt;PRE&gt;
#include "highgui.h"&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
using namespace std;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
void main (void) {&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
ifstream infile;&lt;/PRE&gt;&lt;PRE&gt;
infile.open ("correspondence_list1_mikeda.txt", ifstream::in);&lt;/PRE&gt;&lt;PRE&gt;
int x,y,z,n1,n2,n3,u,v;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
vector&lt;INT&gt; modelPointArrX;&lt;/INT&gt;&lt;/PRE&gt;&lt;PRE&gt;
vector&lt;INT&gt; modelPointArrY;&lt;/INT&gt;&lt;/PRE&gt;&lt;PRE&gt;
vector&lt;INT&gt; modelPointArrZ;&lt;/INT&gt;&lt;/PRE&gt;&lt;PRE&gt;
vector&lt;INT&gt; imagePointArrX;&lt;/INT&gt;&lt;/PRE&gt;&lt;PRE&gt;
vector&lt;INT&gt; imagePointArrY;&lt;/INT&gt;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
while (!infile.eof()) {&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
infile &amp;gt;&amp;gt; x;&lt;/PRE&gt;&lt;PRE&gt;
infile &amp;gt;&amp;gt; y;&lt;/PRE&gt;&lt;PRE&gt;
infile &amp;gt;&amp;gt; z;&lt;/PRE&gt;&lt;PRE&gt;
infile &amp;gt;&amp;gt; u;&lt;/PRE&gt;&lt;PRE&gt;
infile &amp;gt;&amp;gt; v;&lt;/PRE&gt;&lt;PRE&gt;
infile &amp;gt;&amp;gt; n1;&lt;/PRE&gt;&lt;PRE&gt;
infile &amp;gt;&amp;gt; n2;&lt;/PRE&gt;&lt;PRE&gt;
infile &amp;gt;&amp;gt; n3;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
modelPointArrX.push_back(x);&lt;/PRE&gt;&lt;PRE&gt;
modelPointArrY.push_back(y);&lt;/PRE&gt;&lt;PRE&gt;
modelPointArrZ.push_back(z);&lt;/PRE&gt;&lt;PRE&gt;
imagePointArrX.push_back(u);&lt;/PRE&gt;&lt;PRE&gt;
imagePointArrY.push_back(v);&lt;/PRE&gt;&lt;PRE&gt;
}&lt;/PRE&gt;&lt;PRE&gt;
infile.close();&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
CvMat* pModelPoints = cvCreateMat(modelPointArrX.size(), 3, CV_64FC1);&lt;/PRE&gt;&lt;PRE&gt;
CvMat* pImagePoints = cvCreateMat(imagePointArrX.size(), 2, CV_64FC1);&lt;/PRE&gt;&lt;PRE&gt;
CvMat* pPointCounts = cvCreateMat(1, 1, CV_32SC1);&lt;/PRE&gt;&lt;PRE&gt;
CvMat* pIntrinsicMat = cvCreateMat(3, 3, CV_64FC1);&lt;/PRE&gt;&lt;PRE&gt;
CvMat* pDistortionCoeffs = cvCreateMat(4, 1, CV_64FC1);&lt;/PRE&gt;&lt;PRE&gt;
CvMat* rotation_vectors = cvCreateMat(1, 3, CV_64FC1);&lt;/PRE&gt;&lt;PRE&gt;
CvMat* translation_vectors = cvCreateMat(1, 3, CV_64FC1);&lt;/PRE&gt;&lt;PRE&gt;
CvSize size = cvSize(1536,512);&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
pPointCounts-&amp;gt;data.i[0] = modelPointArrX.size();&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
cvmSet(pIntrinsicMat, 0, 0, 8.0); cvmSet(pIntrinsicMat, 0, 1,&lt;/PRE&gt;&lt;PRE&gt;
0.0); cvmSet(pIntrinsicMat, 0, 2, 768.0);&lt;/PRE&gt;&lt;PRE&gt;
cvmSet(pIntrinsicMat, 1, 0, 0.0); cvmSet(pIntrinsicMat, 1, 1,&lt;/PRE&gt;&lt;PRE&gt;
8.0); cvmSet(pIntrinsicMat, 1, 2, 256.0);&lt;/PRE&gt;&lt;PRE&gt;
cvmSet(pIntrinsicMat, 2, 0, 0.0); cvmSet(pIntrinsicMat, 2, 1,&lt;/PRE&gt;&lt;PRE&gt;
0.0); cvmSet(pIntrinsicMat, 2, 2, 1.0);&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
for(int i = 0; i &amp;lt; modelPointArrX.size(); i++) {&lt;/PRE&gt;&lt;PRE&gt;
cvmSet(pModelPoint
s, i, 0, modelPointArrX&lt;I&gt;);&lt;/I&gt;&lt;/PRE&gt;&lt;PRE&gt;
cvmSet(pModelPoints, i, 1, modelPointArrY&lt;I&gt;);&lt;/I&gt;&lt;/PRE&gt;&lt;PRE&gt;
cvmSet(pModelPoints, i, 2, modelPointArrZ&lt;I&gt;);&lt;/I&gt;&lt;/PRE&gt;&lt;PRE&gt;
}&lt;/PRE&gt;&lt;PRE&gt;
for(int i = 0; i &amp;lt; modelPointArrX.size(); i++) {&lt;/PRE&gt;&lt;PRE&gt;
cvmSet(pImagePoints, i, 0, imagePointArrX&lt;I&gt;);&lt;/I&gt;&lt;/PRE&gt;&lt;PRE&gt;
cvmSet(pImagePoints, i, 1, imagePointArrY&lt;I&gt;);&lt;/I&gt;&lt;/PRE&gt;&lt;PRE&gt;
}&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
cvCalibrateCamera2(pModelPoints, pImagePoints, pPointCounts, size,&lt;/PRE&gt;&lt;PRE&gt;
pIntrinsicMat, pDistortionCoeffs, rotation_vectors,&lt;/PRE&gt;&lt;PRE&gt;
translation_vectors, 0);&lt;/PRE&gt;&lt;PRE&gt;
//cvCalibrateCamera2(pModelPoints, pImagePoints, pPointCounts, size,&lt;/PRE&gt;&lt;PRE&gt;
pIntrinsicMat, pDistortionCoeffs, rotation_vectors,&lt;/PRE&gt;&lt;PRE&gt;
translation_vectors, CV_CALIB_USE_INTRINSIC_GUESS);&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
cout &amp;lt;&amp;lt; "FocalLength_X : " &amp;lt;&amp;lt; cvmGet(pIntrinsicMat, 0, 0) &amp;lt;&amp;lt; endl;&lt;/PRE&gt;&lt;PRE&gt;
cout &amp;lt;&amp;lt; "FocalLength_Y : " &amp;lt;&amp;lt; cvmGet(pIntrinsicMat, 1, 1) &amp;lt;&amp;lt; endl;&lt;/PRE&gt;&lt;PRE&gt;
cout &amp;lt;&amp;lt; "PrincipalPoint_X : " &amp;lt;&amp;lt; cvmGet(pIntrinsicMat, 0, 2) &amp;lt;&amp;lt; endl;&lt;/PRE&gt;&lt;PRE&gt;
cout &amp;lt;&amp;lt; "PrincipalPoint_Y : " &amp;lt;&amp;lt; cvmGet(pIntrinsicMat, 1, 2) &amp;lt;&amp;lt; endl;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
cout &amp;lt;&amp;lt; "Radial Distortion 1 : " &amp;lt;&amp;lt; cvmGet(pDistortionCoeffs, 0, 0)&lt;/PRE&gt;&lt;PRE&gt;
&amp;lt;&amp;lt; endl;&lt;/PRE&gt;&lt;PRE&gt;
cout &amp;lt;&amp;lt; "Radial Distortion 2 : " &amp;lt;&amp;lt; cvmGet(pDistortionCoeffs, 1, 0)&lt;/PRE&gt;&lt;PRE&gt;
&amp;lt;&amp;lt; endl;&lt;/PRE&gt;&lt;PRE&gt;
cout &amp;lt;&amp;lt; "Tangential Distortion 1 : " &amp;lt;&amp;lt; cvmGet(pDistortionCoeffs, 2,&lt;/PRE&gt;&lt;PRE&gt;
0) &amp;lt;&amp;lt; endl;&lt;/PRE&gt;&lt;PRE&gt;
cout &amp;lt;&amp;lt; "Tangential Distortion 2 : " &amp;lt;&amp;lt; cvmGet(pDistortionCoeffs, 3,&lt;/PRE&gt;&lt;PRE&gt;
0) &amp;lt;&amp;lt; endl;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
string inputFileName = "testimage.bmp" ;&lt;/PRE&gt;&lt;PRE&gt;
string resultFileName = "testimage_undistorted.bmp" ;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
// Open the source image&lt;/PRE&gt;&lt;PRE&gt;
IplImage* pSourceImage = cvLoadImage(inputFileName.c_str(), -1);&lt;/PRE&gt;&lt;PRE&gt;
if(pSourceImage == 0)&lt;/PRE&gt;&lt;PRE&gt;
return ;&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
// Create destination image&lt;/PRE&gt;&lt;PRE&gt;
IplImage* pDestinationImage = cvCloneImage(pSourceImage);&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
// Undistort image&lt;/PRE&gt;&lt;PRE&gt;
cvUndistort2(pSourceImage, pDestinationImage, pIntrinsicMat,&lt;/PRE&gt;&lt;PRE&gt;
pDistortionCoeffs);&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
cvSaveImage(resultFileName.c_str(), pDestinationImage);&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
cvReleaseImage(&amp;amp;pDestinationImage);&lt;/PRE&gt;&lt;PRE&gt;
cvReleaseImage(&amp;amp;pSourceImage);&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
cvReleaseMat(&amp;amp;pDistortionCoeffs);&lt;/PRE&gt;&lt;PRE&gt;
cvReleaseMat(&amp;amp;pIntrinsicMat);&lt;/PRE&gt;&lt;PRE&gt;
cvReleaseMat(&amp;amp;pPointCounts);&lt;/PRE&gt;&lt;PRE&gt;
cvReleaseMat(&amp;amp;pImagePoints);&lt;/PRE&gt;&lt;PRE&gt;
cvReleaseMat(&amp;amp;pModelPoints);&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
_getch();&lt;/PRE&gt;&lt;PRE&gt;
&lt;/PRE&gt;&lt;PRE&gt;
}&lt;/PRE&gt;</description>
      <pubDate>Tue, 06 Mar 2007 10:45:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/cvCalibrateCamera2-problem/m-p/878881#M9911</guid>
      <dc:creator>littledragon_ike</dc:creator>
      <dc:date>2007-03-06T10:45:02Z</dc:date>
    </item>
  </channel>
</rss>

