私の最後のラボタスクは、画像からパーツをトリミングし、トリミングした画像を元の画像に挿入し、回転させ、サイズを変更することです。
画像はtxtファイルに2D配列としてあり、Matlabはテキストファイルを画像/画像ファイルからtxtに変換するため、結果を確認できます。
私のコードでは、square(image.extract_sub_image(0,0,100,100);
)をトリミングしても問題はありませんが、トリミングされた画像が反対の座標に挿入されます。理由はわかりません。また、rectangle(image.extract_sub_image(0,0,100,50);
)をトリミングすると、プログラムがクラッシュします。また、理由もわかりません:(
PS:
読み取り、書き込み、get_dimensions関数は教授によって提供されます。これらは定数であり、ヘッダーファイルも教授によって提供されます**p2matr2D
。これは彼のアイデアであり、変更することはできません。
私のコード:http ://codepad.org/F0mfR7dN
goldhill.txtファイル:http ://codepad.org/jfbeKLII
x、y座標系に従って間違えない場合、xは列、yは行である必要があります。これは、反対の挿入の意味です:http: //i.imgur.com/wgYsj.png、緑色のボックスは私が欲しいのは、赤いボックスが出てくるものです...
テキストファイルの最初の2つの値は、画像のサイズを決定します。これは、教授がMatlabスクリプトとC++コードを配置した方法です。
問題を解決するためのヒントやコメントをいただければ幸いです。コードが長いことは知っていますが、私が直面していることを説明するためにすべてを貼り付ける必要があったと思います。問題は、CCTOR、= op、抽出または挿入関数にあるはずです。