2014-10-03 3 views
0

OpenCv를 사용하여 Matlab에서와 같이 각 픽셀의 강도를 지정하여 생성되는 간단한 이미지를 표시하려고합니다. 그러나 결과는 내가 보여줄 때 틈이있다 (아래 그림 참조). 이러한 격차를 보이지 않는 이미지를 보여주는 방법이 있습니까? 당신의 매트가 CV_8UC1 경우MATLAB과 같은 opencv에서 이미지 표시

#include <stdlib.h> 
#include <stdio.h> 
#include <opencv2/core/core.hpp> 
#include <opencv2/highgui/highgui.hpp> 
int main(int argc, char** argv) 
{ 
    n = 100; 
    m = 400; 
    cv::Mat image(n,m,CV_8UC1); 
    for(int i = 0; i < m; i++) 
     image.at<int>(10,i) = 255; 
    cv::namedWindow("Display window", WINDOW_AUTOSIZE); 
    // Show our image inside it. 
    cv::imshow("Display window", image);     
    // Wait for a keystroke in the window 
    cv::waitKey(0); 
    return 0; 
} 

Here is an example image

답변

1

, 당신은 사용해야합니다 : 마법처럼

image.at<uchar>(10,i) // not int ! 

enter image description here

int n = 100; 
int m = 400; 
cv::Mat image(n,m,CV_8UC1); 
for(int i = 0; i < m; i++) 
    image.at<uchar>(10,i) = 255; 
+0

작품, 덕분에 많이! – dagcilibili

관련 문제