【发布时间】:2020-10-23 10:48:01
【问题描述】:
我正在尝试使用 OpenCV 中的 sin 函数来扭曲彩色图像,并且我成功地这样做了。但是,如何使用正弦波进行“对角线”翘曲?
我的代码是这样的:
Mat result = src.clone();
for (int i = 0; i < src.rows; i++) { // to y
for (int j = 0; j < src.cols; j++) { // to x
for (int ch = 0; ch < 3; ch++) { // each colour
int offset_x = 0;
int offset_y = (int)(25.0 * sin(3.14 * j / 150));
if (i + offset_y < src.rows) {
result.at<Vec3b>(i, j)[ch] = src.at<Vec3b>((i + offset_y) % src.rows, j)[ch];
}
else
result.at<Vec3b>(i, j)[ch] = 0.0;
}
}
}
imshow("result", result);
我该怎么做?不是绘制正弦图,而是扭曲图像。
解决了这个问题!好几次之前,我都收到过有人告诉我图片被盗了。它实际上来自谷歌,但我已将其删除以履行不引起任何情况。谢谢!
【问题讨论】:
标签: c++ opencv computer-vision