opencv生成椭圆印章
时间: 2023-12-06 17:02:30 浏览: 90
根据提供的引用内容,可以看出生成椭圆印章的方法主要有两种:批量生成和椭圆拟合。以下是两种方法的具体实现:
1. 批量生成椭圆印章
可以参考引用中的文章《毕设之opencv批量生BMP【圆】》,将其中的圆生成代码进行修改,改为生成椭圆即可。具体实现步骤如下:
- 导入OpenCV库
- 设置生成椭圆的参数,包括长轴、短轴、中心点坐标、旋转角度等
- 循环生成椭圆,并保存为BMP格式的图片
以下是示例代码:
```python
import cv2
import numpy as np
# 设置生成椭圆的参数
a = 200 # 长轴
b = 100 # 短轴
center = (300, 300) # 中心点坐标
angle = 30 # 旋转角度
# 循环生成椭圆,并保存为BMP格式的图片
for i in range(10):
img = np.zeros((600, 600, 3), np.uint8)
cv2.ellipse(img, center, (a, b), angle, 0, 360, (255, 255, 255), -1)
cv2.imwrite('ellipse{}.bmp'.format(i), img)
```
2. 椭圆拟合生成椭圆印章
可以参考引用中的文章《毕设之Opencv批量圆拟合》,将其中的圆拟合代码进行修改,改为椭圆拟合即可。具体实现步骤如下:
- 导入OpenCV库
- 读取图片并转为灰度图
- 进行边缘检测
- 进行椭圆拟合
- 绘制椭圆并保存图片
以下是示例代码:
```python
import cv2
# 读取图片并转为灰度图
img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 进行边缘检测
edges = cv2.Canny(gray, 50, 150, apertureSize=3)
# 进行椭圆拟合
ellipse = cv2.fitEllipse(cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[0])
# 绘制椭圆并保存图片
cv2.ellipse(img, ellipse, (0, 255, 0), 2)
cv2.imwrite('ellipse.jpg', img)
```
阅读全文
相关推荐











