python opencv 尺寸检测实现
时间: 2023-09-30 16:06:22 浏览: 45
以下是一个简单的 Python OpenCV 尺寸检测实现示例代码:
```
import cv2
# 读取图片
img = cv2.imread('test.jpg')
# 获取图片的尺寸
height, width, channels = img.shape
# 打印尺寸信息
print("图片尺寸:")
print("宽度:", width)
print("高度:", height)
print("通道数:", channels)
# 显示图片
cv2.imshow('Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码首先使用 `cv2.imread()` 函数读取一张图片,然后使用 `img.shape` 获取图片的尺寸信息,并打印出来。最后使用 `cv2.imshow()` 显示图片并等待按下任意键关闭窗口。
注意:在运行这段代码前,需要将 `test.jpg` 替换成你自己的图片路径。
相关问题
如何使用python-opencv实现对机械零件的尺寸检测
要使用Python-OpenCV实现机械零件的尺寸检测,可以按照以下步骤进行:
1. 导入必要的库
```python
import cv2
import numpy as np
```
2. 读取图像
```python
img = cv2.imread('part.jpg')
```
3. 灰度化和二值化
```python
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
_, thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)
```
4. 轮廓检测
```python
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
```
5. 遍历轮廓,计算尺寸
```python
for cnt in contours:
area = cv2.contourArea(cnt)
perimeter = cv2.arcLength(cnt, True)
x, y, w, h = cv2.boundingRect(cnt)
aspect_ratio = float(w) / h
rect_area = w * h
extent = float(area) / rect_area
hull = cv2.convexHull(cnt)
hull_area = cv2.contourArea(hull)
solidity = float(area) / hull_area
```
6. 显示结果
```python
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
以上就是使用Python-OpenCV实现机械零件尺寸检测的基本步骤,具体实现还需要根据实际情况进行调整和优化。
python实现opencv人脸识别
以下是使用Python实现OpenCV人脸识别的步骤:
1. 导入所需的库和模块:
```python
import cv2
```
2. 加载人脸识别的级联分类器模型:
```python
face_cascade = cv2.CascadeClassifier('path/to/haarcascade_frontalface_default.xml')
```
其中,'path/to/haarcascade_frontalface_default.xml'是OpenCV提供的人脸识别模型文件的路径。
3. 加载图像并进行灰度转换:
```python
image = cv2.imread('path/to/image.jpg')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
```
其中,'path/to/image.jpg'是待识别的图像文件路径。
4. 使用级联分类器检测人脸:
```python
faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
```
其中,scaleFactor、minNeighbors和minSize是人脸检测的参数,可以根据需要进行调整。
5. 在图像上绘制人脸框:
```python
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x+w, y+h), (0, 255, 0), 2)
```
其中,(x, y, w, h)是人脸框的坐标和尺寸,(0, 255, 0)是矩形框的颜色,2是矩形框的线宽。
6. 显示结果图像:
```python
cv2.imshow('Face Detection', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```