2014-12-05 114 views
0

爲項目的需要我必須做一個函數,旋轉C中的圖像與OpenCV庫。我知道這個庫有一些功能可以這樣做,但我只能使用庫來加載圖片並將其打印在窗口中。 我已經有一些代碼,但OpenCV給我一個錯誤,我不明白爲什麼。 以下是錯誤消息: http://pastebin.com/5Y8Wc1SF圖像旋轉C與OpenCV

而且,這裏是我的功能代碼: http://pastebin.com/w0AAeqyc

有人可以幫我解決它嗎?

+0

請不要使用opencv的c-api,它將被逐步淘汰爲C++ api。 – berak 2014-12-05 16:04:18

+0

我擔心改變它有點晚,它沒有時間在另一個庫中再次編碼。 – 2014-12-05 16:23:20

+0

親愛的,5年前發生了alerady。 – berak 2014-12-05 18:20:43

回答

0

你三角函數結果被分配到錯誤的類型

int cosd = cos(angle); 
int sind = sin(angle); 

他們需要

double cosd = cos(angle); 
double sind = sin(angle); 

float。但是,這是糾正時,你可以從這些語句得到負圖像尺寸:

int new_width = (int)((img->width) * cosd + (img->height) * sind); 
int new_height = (int)((img->height) * cosd + (img->width) * sind); 

但看到目前還不清楚被旋轉軸是什麼,我不能提供一個解決方案。

+0

非常感謝我不再有錯誤!但是現在我遇到了一個小問題,那就是我得到的圖像主要是黑色的,並且有一小部分(在左下角),這似乎是我旋轉的一部分圖片。 – 2014-12-05 16:09:43