Эта строка сама по себе генерирует ошибку компиляции:
IplImage *img = (cvSize(4000, 141), IPL_DEPTH_32F, 1);
Я почти уверен, что вы хотели поместить туда cvCreateImage()
, но если вам нужна серьезная помощь, лучше напишите хороший код (иХороший код, как правило, не содержит ошибок или очень близок к этому.)
Почему бы не подать эти данные в OpenCV, а затем использовать OpenCV для масштабирования изображения?
Вы можете использовать cvResize (), чтобы изменить размер вашего изображения.
Я так понимаю, это изображение в градациях серого, потому что вы создаете его только с одним каналом,Ваши значения должны находиться в диапазоне от 0,0 до 1,0 для изображений IPL_DEPTH_32F, поэтому убедитесь в этом.