写在前面:欢迎来到「湫歌」的博客。我是秋秋,一名普通的在校大学生。在学习之余,用博客来记录我学习过程中的点点滴滴,也希望我的博客能够更给同样热爱学习热爱技术的你们带来收获!希望大家多多关照,我们一起成长一起进步。也希望大家多多支持我鸭,喜欢我就给我一个关注吧!
这部分可以看一下我之前的博客文章
Visual Studio 2022下载及配置OpenCV4.5.5
Mat src;
src = imread("C://Users//autumn//Desktop//forP49//1.png"); //图片地址
Mat dst;
resize(src, dst, cv::Size(400, 400));
思路是:遍历单个像素点,计算对应的正弦函数值,在每一个函数点画出圆点,可以用circle函数
double zhenfu;
double zhouqi;
cout << "请依次输入振幅和周期";
cin >> zhenfu >> zhouqi;
double i, j;
for (i = dst.cols / 2;i <= dst.cols;i=i+0.1) {
cv::circle(dst, Point(i, int(zhenfu * sin(zhouqi*i)+dst.rows/2)), 1, cv::Scalar(0, 255, 255), -100);
}
for (j = dst.cols / 2;j >= 0;j=j-0.1) {
cv::circle(dst, Point(j, int(zhenfu * sin(zhouqi*j)+dst.rows/2)), 1, cv::Scalar(0, 255, 255), -100);
}
imshow("display", dst);
waitKey(0);
#include
#include
#include
#include
#include
#include
#include
using namespace cv;
using namespace std;
int main() {
Mat src;
Mat dst;
src = imread("C://Users//autumn//Desktop//forP49//1.png");
//imshow("display", src);
//waitKey(0);
resize(src, dst, cv::Size(400, 400));
double zhenfu;
double zhouqi;
cout << "请依次输入振幅和周期";
cin >> zhenfu >> zhouqi;
double i, j;
for (i = dst.cols / 2;i <= dst.cols;i=i+0.1) {
cv::circle(dst, Point(i, int(zhenfu * sin(zhouqi*i)+dst.rows/2)), 1, cv::Scalar(0, 255, 255), -100);
}
for (j = dst.cols / 2;j >= 0;j=j-0.1) {
cv::circle(dst, Point(j, int(zhenfu * sin(zhouqi*j)+dst.rows/2)), 1, cv::Scalar(0, 255, 255), -100);
}
imshow("display", dst);
waitKey(0);
//cout << "图像宽为:" << src.cols << "高度为:" << src.rows << endl;
return 0;
}
写的有点粗糙