Python中如何进行图像识别,有相关经验的大佬吗?
就是想做一个能识别出当前界面是广告界面,还是登陆界面,还是弹窗的功能程序。其中一种思路是将图片中的文字识别出来,根据文字来判断,第二种直接是根据图像转换成 ndarray,请问一下第二种有什么比较好的思路推荐么,感觉用 SVM,KNN,Logistic 什么的准确率好低,有什么更好的方法么?
Python中如何进行图像识别,有相关经验的大佬吗?
这种工作不应该由图像识别来做,速度慢,要做成普适性的算力要求又高。个人意见:根据 html 标签和元数据去识别更合适吧
用Python做图像识别,主要就靠几个成熟的库。最直接的就是用OpenCV做基础处理(比如边缘检测、模板匹配),但做真正的“识别”通常得用深度学习。
现在主流就两条路:
- 直接用预训练模型:比如用PyTorch或TensorFlow加载ResNet、MobileNet这类在ImageNet上训好的模型,改改最后一层就能做自己的分类任务。这是最快上手的办法。
- 自己训练模型:如果任务特殊(比如识别特定工业零件),那就得自己标注数据,然后用YOLO、Faster R-CNN做目标检测,或者用U-Net做分割。
给你个最简例子,用torchvision的预训练模型快速实现图像分类:
import torch
from torchvision import models, transforms
from PIL import Image
# 1. 加载预训练模型
model = models.resnet18(pretrained=True)
model.eval() # 切换到评估模式
# 2. 预处理图像
preprocess = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
# 3. 处理单张图片
img = Image.open("your_image.jpg")
img_tensor = preprocess(img).unsqueeze(0) # 增加batch维度
# 4. 预测
with torch.no_grad():
outputs = model(img_tensor)
_, predicted = outputs.max(1)
print(f"预测类别索引: {predicted.item()}")
建议:先跑通预训练模型,再根据任务需求决定要不要自己训练。
楼上加 1,OCR 关键词>图像分类,但是这种类型图像识别数据自己搞太麻烦,也不知道有没有公开数据集
上面的要这样,我也没有太多办法。
这是为了融资强行 AI 啊…
有大数据集直接上神经网络大力出奇迹吧,没有数据集老老实实 OCR
数据量有多大呢?
分类就 3 种不是很难,关键得有样本数据集,而且以后业务场景出现的同类新图不能差异太大
数据集大概只有 7、8 百张吧
这点数据量的话,还是用 OCR 关键词吧
就是广告弹窗什么的图像没有太大的特征性,直接用普通算法识别准确率肯定不是很好,关键是各种类型图片的文字看图就比较明显,所以才会直接根据文本来建立相关的模型。
强行创新不可取,把简单问题复杂化了
SVM 效果按说对这种简单分类人物效果已经很不错了,感觉像是特征没选对
不知道你需求是什么?三张 png 图片要识别么?感觉你把东西复杂化了。你需求可能用别的方法实现更简单

