我有已經處理擲圖像:OpenCV的墊圖像數據結構
//UIImage to Mat
cv::Mat originalMat = [self cvMatFromUIImage:inputImage];
//Grayscale
cv::Mat grayMat;
cv::cvtColor(originalMat, grayMat, CV_RGB2GRAY);
//Blur
cv::Mat gaussMat;
cv::GaussianBlur(grayMat , gaussMat, cv::Size(9, 9), 2, 2);
//Threshold
cv::threshold(grayMat,tMat,100,255,cv::THRESH_BINARY);
比我想分析(計算的白點和黑點數量)該初級講座到線。例如:我有一張圖像100x120px
,我想查看x = 5
和y = from 0 to 119
;反之亦然x = 0..99; y = 5
;
所以我期望Mat
將包含x - Mat.cols
和y - Mat.rows
但看起來它以另一種方式保存數據。比如我試圖改變像素的顏色,初級講座到線,但沒有得到2線:
for(int x = 0; x < tMat.cols; x++){
tMat.at<cv::Vec4b>(5,x)[0] = 100;
}
for(int y = 0; y < tMat.rows; y++){
tMat.at<cv::Vec4b>(y,5)[0] = 100;
}
return [self UIImageFromCVMat:tMat];
結果爲黑白圖像:
我爲什麼我以前不得到2行呢?是否可以直接在Mat
中繪製\ check lines?如果我要檢查通過y = kx + b
計算的線路,該怎麼辦?