python如何获取多个物体圆形度、宽长比、周径比
时间: 2024-02-02 20:02:59 浏览: 41
红烧肉是一道非常受欢迎的中国传统美食,它的独特风味和口感深受人们喜爱。下面为大家介绍一道简单易学的红烧肉美食食谱。
材料:
1.猪五花肉500克
2.生姜适量
3.葱适量
4.八角适量
5.桂皮适量
6.料酒适量
7.老抽适量
8.生抽适量
9.糖适量
10.盐适量
11.清水适量
步骤:
1.将猪五花肉洗净,切成小块。
2.将切好的猪肉放入沸水中焯水,焯水时加入一些生姜和葱。
3.将焯好水的猪肉捞出,放入凉水中浸泡一会儿,让猪肉更加入味。
4.将炒锅放在火上,加入适量的油,加入切好的姜和葱,爆香。
5.加入八角和桂皮,炒香。
6.加入猪肉块,炒制至表面金黄。
7.加入适量的料酒,翻炒几下。
8.加入适量的老抽、生抽、糖和盐,翻炒几下。
9.加入适量的清水,待水开后,转小火煮煮30分钟至40分钟。
10.煮好后,捞出猪肉块,放入碗中。
11.将剩余的调料和汤汁煮开,倒入猪肉块上。
12.最后,将猪肉块放入蒸锅中,蒸10分钟至15分钟即可。
红烧肉做好后,可以根据自己的口味添加适量的辣椒油或者蒜末等调料,提升口感。同时,红烧肉热量较高,建议适量食用。
相关问题
使用opencv写一个多物体形状检测的程序
下面是一个使用OpenCV进行多物体形状检测的程序示例:
```python
import cv2
import numpy as np
# 读取图像
img = cv2.imread('shapes.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 二值化
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
# 轮廓检测
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 遍历每个轮廓
for cnt in contours:
# 计算轮廓周长
perimeter = cv2.arcLength(cnt, True)
# 进行轮廓近似
approx = cv2.approxPolyDP(cnt, 0.02 * perimeter, True)
# 根据近似后的轮廓点数来确定形状
if len(approx) == 3:
shape = "Triangle"
elif len(approx) == 4:
(x, y, w, h) = cv2.boundingRect(approx)
ratio = w / float(h)
# 判断矩形还是正方形
if ratio >= 0.95 and ratio <= 1.05:
shape = "Square"
else:
shape = "Rectangle"
else:
shape = "Circle"
# 在图像中标注形状
cv2.drawContours(img, [approx], -1, (0, 255, 0), 2)
cv2.putText(img, shape, (approx.ravel()[0], approx.ravel()[1]), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 0), 2)
# 显示结果
cv2.imshow("Image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这个程序可以读取一张形状图像,检测其中的多个物体并标注它们的形状。具体实现步骤如下:
1. 读取图像并将其转换为灰度图像。
2. 对灰度图像进行二值化处理,得到黑白图像。
3. 对黑白图像进行轮廓检测,得到所有物体的轮廓。
4. 遍历每个轮廓,首先计算轮廓的周长。
5. 对轮廓进行近似处理,得到近似后的轮廓。
6. 根据近似后的轮廓点数来确定形状,如果点数为3则为三角形,如果为4则进一步判断是矩形还是正方形,否则为圆形。
7. 在图像中标注形状。
8. 显示结果。
注意,这个程序只是一个简单示例,实际应用中可能需要根据具体需求进行修改和优化。
圆形物体的圆形包围边框opencv程序
以下是一个使用OpenCV库绘制圆形包围边框的完整Python程序示例:
```
import cv2
# 读取图像
image = cv2.imread('your_image.jpg')
# 灰度化处理
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 二值化处理
_, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
# 查找轮廓信息
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 计算每个轮廓的最小包围圆
circles = [cv2.minEnclosingCircle(cnt) for cnt in contours]
# 绘制圆形包围边框
for circle in circles:
center, radius = circle
cv2.circle(image, (int(center[0]), int(center[1])), int(radius), (0, 255, 0), 2)
# 显示结果图像
cv2.imshow('result', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
需要注意的是,以上程序仅供参考,具体的实现方式可能因应用场景而有所变化。例如,如果图像中存在多个圆形物体,上述程序会绘制所有圆形物体的圆形包围边框,而实际应用中可能需要根据一定的规则或者目标检测算法来确定具体需要绘制的圆形物体的圆形包围边框。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)