2016-05-31 59 views
1

對於圖像批次分類,我已使用此問題的代碼Modifying the Caffe C++ prediction code for multiple inputs。但我注意到由於某種原因分割圖像通道的功能。如何編寫沒有通道拆分的caffe的圖像批處理分類?

我想它適用於通常的CNN架構,但是它是否適用於連體建築?我想不是,因爲在C++分類中它不能正常工作。

有人可以解釋一下,我應該如何更改暹羅建築的代碼(即按照渠道分割圖像,並將這些渠道分配給不同的層次,這就是要點),或者至少如何使用內存存儲輸入工作,自己弄清楚?

Blob<float>* input_layer = net_->input_blobs()[0]; 

回答

0

想通了,問題是在OpenCV的功能在Classifier::Preprocess

cv::split(img[i], channels); 

,因爲它的工作僅當包含在imgcv::Mat形成爲具有通道的2D圖像。如果像我的情況那樣形成,否則形狀如(channels, width, height)(width, height, channels)cv::split將不會像您期望的那樣拆分cv::Mat,所以我已將此步驟替換爲其他實現。