day07-----机器视觉

本文介绍了OpenCV的核心技术,包括特征检测、目标检测、分类识别以及人脸识别。详细讲解了在C++和Python中如何使用OpenCV进行开发,并特别关注了特征点检测、描述、匹配以及结合交叉验证的人脸识别应用。

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

补:交叉验证+参数调优(网格搜索)

  • 样本数据集划分为:训练集、测试集
    • 划分方案:
      • 直接分
      • n-折
import numpy as np
from sklearn import datasets
from sklearn.model_selection import train_test_split,GridSearchCV
from sklearn.svm import SVC
#加载数据集
data,target=datasets.load_iris(return_X_y=True)
print(data.shape)

#交叉验证:训练集+测试集
#test_size=0.2,测试集是原数据规模的0.2
data_train,data_test,target_train,target_test=train_test_split(data,target,test_size=0.2)
print(data_train.shape)

#网格搜索:调用机器学习算法完成训练(常规训练+网格搜索训练)
#classifier=SVC(kernel='rbf',C=1000,gamma=0.1)  #这个算法参数是固定的
#参数字典
dic_p={
   
   
    'C':[1,10,100,10000],
    'gamma':[0.01,0.1,1],
}
#这个是从参数字典里自动找到最佳参数
classifier=GridSearchCV(SVC(kernel='rbf'),dic_p)
classifier.fit(data_train,target_train)

#结果
pre=classifier.predict(data_test)
#测试集一共三十个,打印正确预测的个数
print((pre==target_test).sum())
(150, 4)
(120, 4)
30

1.opencv的核心技术

  • 特征检测
    • feature2D
  • 目标检测
    • objectDetect
  • 分类识别
    • 人脸face

2.opencv的c++开发


3.opencv的python开发

3.1 特征点检测的使用

import cv2
import matplotlib.pyplot as plt

#准备一张图像
img_src=cv2.imread('timg.jpg')
img_src=cv2.cvtColor(img_src,cv2.COLOR_BGR2RGB)

#特征检测器,找出图像特征(关键点)
orb=cv2.ORB_create(10000)#10000个关键点
keypoints=orb.detect(img_src)

#绘制带关键点的图像
img_out=cv2.drawKeypoints(img_src,keypoints,None,(255,0,0))
plt.imshow(img_out)


在这里插入图片描述

3.2 特征描述与特征匹配

import cv2
import matplotlib.pyplot as plt

#加载两幅图像
img1=cv2.imread('timg.jpg')
img2=cv2.imread('timg2.jpg')

#找出特征
orb=cv2.ORB_create(500)
kp1=orb.detect(img1)
kp2=orb.detect(img2)

kp1,desc1=orb.compute(img1,kp1)
kp2,desc2=orb.compute(img2,kp2)

#匹配器
bf=cv2.BFMatcher(cv2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值