Muk*_*esh 4 opencv computer-vision
我这样做是为了获取Image的每个像素值并在Console上打印它
include "stdafx.h"
include "opencv2/imgproc/imgproc.hpp"
include "opencv2/highgui/highgui.hpp"
include <stdlib.h>
include <stdio.h>
using namespace cv;
int main( int argc, char** argv )
{
IplImage *img = cvLoadImage("lena.jpg");
CvMat *mat = cvCreateMat(img->height,img->width,CV_32FC3 );
cvConvert( img, mat );
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
CvScalar scal = cvGet2D( mat,j,i);
printf( "(%.f,%.f,%.f) ",scal.val[0], scal.val[1], scal.val[2] );
}
printf("\n");
}
waitKey(1);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
是否有更好的方法来获取每个像素值以及txt.files中的头和通道值
mev*_*ron 14
如果你能提供帮助,我建议不要使用C API.C++ API更容易使用.至于在文件中存储矩阵,请查看OpenCV中可用的FileStorage类.
它很简单:
FileStorage fs("test.yml", FileStorage::WRITE);
Mat cameraMatrix = (Mat_<double>(3,3) << 1000, 0, 320, 0, 1000, 240, 0, 0, 1);
fs << "cameraMatrix" << cameraMatrix;
...
fs.release();
Run Code Online (Sandbox Code Playgroud)
FileStorage fs("test.yml", FileStorage::READ);
Mat cameraMatrixFromFile;
fs["cameraMatrix"] >> cameraMatrixFromFile;
...
fs.release();
Run Code Online (Sandbox Code Playgroud)
希望有所帮助!
| 归档时间: |
|
| 查看次数: |
6776 次 |
| 最近记录: |