opencv3 画一颗心并签名

本文介绍了如何使用OpenCV的cv::ellipse函数手工绘制心形,并提供了利用心形曲线公式自动化画心的方法,通过调整公式参数适应离散坐标。展示了两种方式绘制的心形效果。
摘要由CSDN通过智能技术生成

1、纯手工用cv::ellipse椭圆函数实现,位置、长短轴大小均为人为调整

#include<opencv.hpp>  

int main()
{
	cv::Mat image = cv::Mat::ones(480, 640, CV_32FC3);

	image.setTo(cv::Scalar(255, 255, 255));

	cv::ellipse(image,cv::Point(313,178),cv::Size(70,100),0,40,140,cv::Scalar(0,0,255),2,8);

	cv::ellipse(image, cv::Point(286, 220), cv::Size(50, 35), 225, 270, 452, cv::Scalar(0, 0, 255), 2, 8);

	cv::ellipse(image, cv::Point(340, 220), cv::Size(50, 35), -45, 268, 450, cv::Scalar(0, 0, 255), 2, 8);

	cv::putText(image, "Ben", cv::Point(400, 320), 7, 1, cv::Scalar(0, 0, 20), 1, 8, false);

	cv::imwrite("result.jpg", image);

	cv::namedWindow("My window");
	cv::imshow("My window", image);
	cv::waitKey(0);
	cv::destroyWindow("My window");
	return 0;
}

效果如下图:
在这里插入图片描述
2、人为调整椭圆位置、角度等未免有些麻烦,偷懒一下,利用心形曲线公

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值