Mat edges;
Mat edges2;
PylonInitialize();
CInstantCamera camera(CTlFactory::GetInstance().CreateFirstDevice());
camera.Open();
CImageFormatConverter formatConverter;
camera.StartGrabbing(c_countOfImagesToGrab);
camera.IsGrabbing();
camera.RetrieveResult(5000, ptrGrabResult, TimeoutHandling_ThrowException);
if (ptrGrabResult->GrabSucceeded())
{
formatConverter.Convert(pylonImg, ptrGrabResult);
//CPylonImage轉為Mat
edges = cv::Mat(ptrGrabResult->GetHeight(), ptrGrabResult->GetWidth(), CV_8UC1, (uint8_t *)pylonImg.GetBuffer());
}
//到這里就報錯
imwrite("1", edges);
//cvtColor(edges, edges2, CV_RGB2GRAY);
呼叫了pylon采集影像,影像能夠正常采集,但是一旦opencv的處理函式就報錯,高手幫忙給看看哈
uj5u.com熱心網友回復:
執行到imwrite報錯?保存圖片的話,第一個引數是保存檔案的路徑,比如 1.jpguj5u.com熱心網友回復:
我問題沒說清楚,是執行cvtColor(edges, edges2, CV_RGB2GRAY); 就報錯 不知誰能告訴我啊uj5u.com熱心網友回復:
edges = cv::Mat(ptrGrabResult->GetHeight(), ptrGrabResult->GetWidth(), CV_8UC1, (uint8_t *)pylonImg.GetBuffer());這里edges創建的是CV_8UC1一灰度矩陣,是不能和CV_RGB2GRAY)配合用的
其實edges也是灰度圖吧,為什么還要再進行一次轉換呢?
uj5u.com熱心網友回復:
CV_8UC1怎么往灰度轉換?樓上說的對轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/133299.html
標籤:圖形處理/算法
上一篇:c++在picture控制元件區域用了雙緩沖之后,點擊按鈕無法彈出子對話框,而且主對話框也沒有反應
下一篇:已知空間三維點坐標,用openGL的GL_TRIANGLES函式把三點連接起來形成三維曲面,如何對這個曲面進行貼圖
