Tag: 旋转

如何在C中旋转1d数组的一部分?

我打印出一个6×6 1darrays,但想要逆时针旋转左上角3×3部分。 有算法吗? 将来我也想像右下3×3部分或右上3×3部分或左下3×3部分一样旋转。 a[0] a[1] a[2] a[3] a[4] a[5] a[1] a[2] a[8] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] a[11] a[0] a[7] a[14] a[9] a[10] a[11] a[12] a[13] a[14] a[15] a[16] a[17] —> a[6] a[12] a[13] a[18] a[19] a[20] a[18] a[19] a[20] a[21] a[22] a[23] a[18] a[19] a[20] a[21] a[22] a[23] a[24] a[25] […]

C / C ++旋转BMP图像

我正在尝试使用C / C ++旋转BMP图像,但它不起作用。 我已经为读取,写入和旋转做了一些function,读取和写入工作完美正常,但不是因为某些原因而旋转。 编辑(sin,cos和旋转function) BMP结构: struct BMP { int width; int height; unsigned char header[54]; unsigned char *pixels; int size; }; 写: void writeBMP(string filename, BMP image) { string fileName = “Output Files/” + filename; FILE *out = fopen(fileName.c_str(), “wb”); fwrite(image.header, sizeof(unsigned char), 54, out); int i; unsigned char tmp; for (i = […]

C中任何整数的旋转位

将整数2传递给此函数,然后返回一个4的整数 x = 2; x = rotateInt(‘L’, x, 1); (左移位数为1) 示例:00000010 – >向左旋转1 – > 00000100 但如果我通过这个: x = rotateInt(‘R’, x, 3); 它将返回64,010000 这是代码,有人可以纠正错误…谢谢 int rotateInt(char direction, unsigned int x, int y) { unsigned int mask = 0; int num = 0, result = 0; int i; for (i = 0; i > 1; } […]

找到二维三角形的中心

(是的,不幸的是,这是一个家庭作业问题) 我已经获得了一个带有x和y坐标的二维三角形结构,一个旋转变量,等等。 从那些x和y坐标创建的点,我应该在点周围绘制一个三角形并使用旋转变量适当地旋转它。 我熟悉使用GL_TRIANGLES在OpenGl中绘制三角形。 我的问题是以某种方式提取三角形的中间并在其周围绘制顶点。 我希望我已经措辞得当,因为我有点困惑。 谢谢。 编辑:是的,我要找的是质心。

用C / C ++旋转图像

我需要用C ++旋转图像的代码,其function类似于matlab的imrotate函数。 请建议一个很好的链接。 或者,如果有人可以提供imrotate的代码。 或者至少请解释一下算法。 它不是一个功课。 我的项目需要这个代码。 我们可以使用任何外部库或代码。

仿射变换,简单旋转和缩放或其他完全?

场景是这样的:我有一张纸的图片,我想做一些OCR。 因此,请将下面的图片作为我的输入示例: 在成功检测到与纸张对应的区域后,我留下了一个4个坐标的vector ,用于定义图像内部的位置。 请注意,由于摄像机的距离和拍摄照片时的角度,这些坐标可能与完美的矩形不对应。 出于查看目的,我连接了子图像中的点,以便您可以看到我的意思: 在这种情况下,要点是:[1215,43],[52,67],[56,869]和[1216,884] 此时,我需要调整这些点,使它们水平对齐。 那是什么意思? 如果您注意到上面子图像的区域,则会稍微旋转:图像右侧的点位置略高于另一侧的点。 换句话说,我们有图像A ,它被夸大了,看起来比现实更加扭曲/旋转,然后是图像B – 这就是我想要的最终结果: 一个) B) 我不确定可以使用哪种技术来实现这种转换。 应用程序还需要自动检测需要完成多少旋转,因为我无法控制图像采集过程。 目的是使用带有规范化子图像的新Mat 。 我现在并不担心可能的图像失真,我只是想找到一种方法来确定需要对子图像进行多少旋转以及如何应用它并获得更矩形的区域 。