我最后的实验室任务是从图像中裁剪部分,将裁剪后的图像插入原始背面,旋转并调整大小。
我们将图像作为 txt 文件中的二维数组,Matlab 将文本文件转换为图像/图像文件到 txt,因此我们可以看到我们的结果。
当我裁剪一个正方形(image.extract_sub_image(0,0,100,100);
)时使用我的代码,没有问题,但是它将裁剪的图像插入到相反的坐标,我不知道为什么。此外,当我裁剪一个矩形(image.extract_sub_image(0,0,100,50);
)时,程序崩溃了。也不知道为什么:(
PS:
read、write、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、extract 或 insert 函数中。