我目前正致力於在C#中實現EmguCV中的算法,這意味着我不想使用EmguCV附帶的旋轉函數中的構建。如何在Emgu CV中實現「旋轉算法」?
我已經找到了我想要實現的算法,但是我有點被卡住瞭如何實現它。主要的問題是,我不知道如何指定我的矩陣的X和Y值來完成預期的計算。
旋轉算法: http://i.stack.imgur.com/hQMxF.jpg
現在我的代碼看起來是這樣的:
static void Main(string[] args) {
Mat image = CvInvoke.Imread("C:\\Users\\Leon\\Desktop\\a.jpg", LoadImageType.Grayscale);
int height = image.Height;
int width = image.Width;
//Convert to Matrix
Matrix<Byte> matrix = new Matrix<Byte>(image.Rows, image.Cols, image.NumberOfChannels);
image.CopyTo(matrix);
Matrix<Byte> newMatrix = new Matrix<Byte>(image.Rows, image.Cols, image.NumberOfChannels);
image.CopyTo(newMatrix);
for (int i = 0; i < matrix.Rows-1; i++)
{
for (int j = 0; j < matrix.Cols-1; j++)
{
}
}
CvInvoke.Imshow("abc", matrix);
CvInvoke.WaitKey(0);
}
但正如我所說,我在爲如何實現算法疑問。我的計劃是旋轉「矩陣」中的像素並將它們存儲在「newMatrix」中,但我不知道如何指定矩陣的X和Y值。
也許有人可以幫助我在這裏。
編輯: 有人提出這個答案在這裏:「How can I get and set pixel values of an EmguCV Mat image?」將是我的問題的答案。但事實並非如此。我知道我可以做Math.Cos和Math.Sin,但我不知道如何在我的矩陣中指定X和Y.我在訪問Matrix中的數據時沒有問題。
的[我怎樣才能獲取和設置EmguCV墊圖像的像素值,可能的複製? ](http://stackoverflow.com/questions/32255440/how-can-i-get-and-set-pixel-values-of-an-emgucv-mat-image) – slawekwin