gpt4 book ai didi

c - 在 c 中将图像旋转 x 角度

转载 作者:太空宇宙 更新时间:2023-11-04 07:52:04 25 4
gpt4 key购买 nike

我将图像旋转 x(45 度) 角,但旋转后的图像中出现一些黑点。

如何避免那些黑点!!

我使用的逻辑如下

double sinx = sin((M_PI/4)*(180.0/M_PI));  //45 degrees
double cosx = cos((M_PI/4)*(180.0/M_PI));

xCenter = height/2; // Rotate image by its center.
yCenter = width/2;

for(x=0; x<height; x++) {
for(y=0; y<width; y++) {

xt = x-xCenter; yt=y-yCenter;
xRotate = (int) round( ((xt*cosx)-(yt*sinx)) + xCenter );
yRotate = (int) round( ((yt*cosx)+(xt*sinx)) + yCenter );

if( (x >= 0) && (x < height) && (y >= 0) && (y < width) ) {
rotatedImage[xRotate][yRotate] = inputImage[x][y];
}
}
}

最佳答案

不是在未旋转图像的像素上循环,而是在旋转图像上循环。这意味着您不会因为将旋转坐标四舍五入为 int 而错过像素。

关于c - 在 c 中将图像旋转 x 角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53187855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com