Функция OpenCV не работает так же Python и C ++ - PullRequest
0 голосов
/ 13 июля 2020

Вот код python:

vs = cv2.VideoCapture(0)
while True:
    ret,frame = vs.read()
    blob = cv2.dnn.blobFromImage(frame, 1.0,(300, 300), (104.0, 177.0, 123.0))
    print(blob.shape[2]) # print channel

Когда я пытаюсь использовать тот же код в c ++, значение канала не совпадает с python кодом

cv::VideoCapture cap;
cap.open(0);
cv::Mat frame;

while(true)
{
    cap.read(frame);

    Mat blob = cv::dnn::blobFromImage(frame,1.0,cv::Size(300,300),Scalar(104.0, 177.0, 123.0));
    cout << blob.channels() << endl; // print channel here
}

В чем разница между ними?

1 Ответ

0 голосов
/ 13 июля 2020
print(blob.shape[2]) # print channel

Вы уверены, что индекс 2 должен содержать количество каналов? В обоих распространенных четырехмерных порядках, NCHW и NHW C, индекс 2 формы не соответствует каналам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...