2013-12-10 39 views
1

我是新來的簡歷,我想出一個問題。 我想創建一個漸變的灰色條(從黑色到白色)。cv:墊,每隔一個像素設置

所以我initializied墊:

Mat fadedgrey=Mat(20,256,CV_8UC1); 

當我寫了pixelvalues:

for(int x=0;x<20;x++){ 
    for(int y=0;y<256;y++){ 
    fadedgrey.at<int>(x,y)=y;}} 

結果如下: 僅每隔一列寫,但我認爲CV_8UC1是一個渠道,而不是一個雙通道墊。

例如,在位置(1,129)處設置的值在第二行的開始處出現一個像素。

幫幫我! 問候!

回答

1

如果您的矩陣類型爲CV_8UC1,那麼每個元素的大小爲一個字節,您應該使用或類似的,而不是.at<int>

雖然這不是你的問題,你也可能最終向上困惑的行和列,爲您的墊構造函數有nRows,nCols,這大約是相反的方式來x,y

+0

實際上UCHAR數據類型幫助...剩下的就是嘗試和錯誤TY – user3088624