毕设之opencv批量生成BMP【圆】

这篇博客介绍了一个使用OpenCV在Windows环境下批量生成包含随机圆的500x500 BMP图像的程序。程序首先创建一个空的Mat图像,然后通过circle()函数绘制随机半径和圆心的圆,最后将Mat转换为IplImage并保存为BMP格式。同时,程序还会创建一个文本文件记录所有生成图像的绝对路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

毕设之opencv批量生成BMP【圆】

程序思路:定义Mat变量,通过circle()函数操作Mat变量进行圆的绘制,再将Mat类型转为IplImage类型,通过cvSaveImage()函数进行BMP格式存储(没有找到简便的Mat变量存储为图片格式的方法)。并将所有图片的绝对地址按序号升序排列存入at.txt中

功能小结:

1、  新建文件夹

    system("md D:\\Circle");

    system(delD:\\filename")

      

2、Mat与IplImage互相转换

将Mat转换为IplImage

举例:    Matimg;

lplImage *src;

                    src=&IplImage(img);

将IplImage转换为Mat

             Mat(const IplImage* img, boolcopyData=false);

3、创建txt文本,并写入数据

#include <iostream>

#include <sstream>

#include <fstream>

ofstream file("D:\\Circle\\at.txt",ios::out);

if (file.is_open())

{

    file << ImagesName;

}

file.close();

4、opencv画圆函数

/**@brief Draws a circle.

Thefunction circle draws a simple or filled circle with a given center and radius.

@paramimg Image where the circle is drawn.

@paramcenter Center of the circle.

@paramradius Radius of the circle.

@paramcolor Circle color.

@paramthickness Thickness of the circle outline, if positive. Negative thicknessmeans that a

filledcircle is to be drawn.

@paramlineType Type of the circle boundary. See the line description.

@paramshift Number of fractional bits in the coordinates of the center and in theradius value.

 */

CV_EXPORTS_W void circle(InputOutputArray img,Point center, int radius,<

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值