c++ - cv::Mat frame and SCILAB -
c++ - cv::Mat frame and SCILAB -
i have frame in opencv wich don't want save using imwrite(), utilize code extract each channel , save , open 3 files , combining new frame first here c++ code :
......... mean_fb.open("d:\\mean_blue",ios::out); ostream osb(&mean_fb); mean_fg.open("d:\\mean_green",ios::out); ostream osg(&mean_fg); mean_fr.open("d:\\mean_red",ios::out); ostream osr(&mean_fr); resultframe *= 1.0/255.0; // adjusting colors of mean value for(int row = 0; row < resultframe.rows; row++) { (int col = 0; col < resultframe.cols; col++) { // std::cout << resultframe.at<cv::vec3f>(row, col)[1] <<std::endl; std::cout << resultframe.at<cv::vec3f>(row, col)[2] <<std::endl; //fwrite(&resultframe.at<cv::vec3f>(row,col )[0],sizeof(float),1,inpr); osr<< resultframe.at<cv::vec3f>(row, col)[0]<<"\n"; osg<< resultframe.at<cv::vec3f>(row, col)[1]<<"\n"; osb<< resultframe.at<cv::vec3f>(row, col)[2]<<"\n"; } } .......
the saved files right open them using scilab way frame 1920*1080 , here scilab code :
clear clc stacksize('max'); cd 'd:\' width = 1080; height =1920 ; im = zeros(width, height); // read values of reddish channel reddish = mgetl('mean_red'); // read file reddish = matrix(red,[width, height]); reddish = strtod(red); im(:,:,3) = red;// because opencv defaullt color model bgr clear red; // clear reddish plenty stack // read values of greenish channel greenish = mgetl('mean_green'); // read file greenish = matrix(green,[width,height]); greenish = strtod(green); im(:,:,2) = green; clear green; // read values of bluish channel bluish = mgetl(mean_blue'); // read file bluish = matrix(blue,[width, height]); bluish = strtod(blue); im(:,:,1) =blue ; clear blue; imshow(im);/////////////////////////////////////////
this part of striped image : help
it seems got width , height parameter reversed. image might transposed.
c++ opencv image-processing scilab
Comments
Post a Comment