Есть картинка image, она в градациях серого. Получаю матрицу нужной области из неё с помощью:
CvMat data;
cvGetSubRect(image, &data, rect);
cvSave(buf, &data);
Я могу вывести картинку, полученную из этой матрицы используя Indexed8:
cv::Mat m = cv::Mat(&data);
QImage q_image2 = mat_to_qimage_ref(m, QImage::Format_Indexed8);
label_2->setPixmap(QPixmap::fromImage(q_image2.rgbSwapped()));
А если заменить Indexed8 на RGB, то область уменьшится в 3 раза и склонируется 3 раза.
В этом и прикол, что когда я вывожу значения из матрицы в TextEdit
QTextCursor cursor = ui->textEdit->textCursor();
for (int i = 0; i < data.rows; ++i) {
int* ptr = (int*)(data.data.ptr + i*data.step);
for (int j = 0; j < data.cols; ++j) {
if (ptr[j] == 0)
cursor.insertText(QString::number(0));
else
cursor.insertText(QString::number(1));
}
cursor.insertText("\n");
}