您当前的位置: 首页 > 

跋扈洋

暂无认证

  • 5浏览

    0关注

    221博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

使用LBP+SVM,训练识别给定的测试图像

跋扈洋 发布时间:2020-12-10 12:22:14 ,浏览量:5

图片识别
  • 训练文件
  • 识别图像
  • LocalBinrayPatterns
  • recognize
  • 运行结果展示
  • 后续

训练文件

在项目中建立training文件夹,在其中存放你想要训练的图像,其中的小文件夹就是你训练生成的图像名称,可自行更改。

识别图像

建立testing文件夹,在其中存放你想要识别的图像。

LocalBinrayPatterns
class LocalBinrayPatterns:
    def __init__(self,numPoints,radius):
        self.numPoints = numPoints
        self.radius = radius

    def describle(self,image,esp=1e-7):
        lbp = feature.local_binary_pattern(image,self.numPoints,self.radius,method="uniform")
        (hist,_) = np.histogram(lbp.ravel(),bins=np.arange(0,self.numPoints + 3),range=(0,self.numPoints + 2))

        hist = hist.astype("float")
        hist /= (hist.sum() + esp)
        return hist
recognize
ap = argparse.ArgumentParser()
ap.add_argument("-t","--training",default="./training",help="path to the training images")
ap.add_argument("-e","--testing",default="./testing",help="path to the testing images")
args = vars(ap.parse_args())


desc = LocalBinrayPatterns(24,8)
data = []
labels = []


for imagePath in paths.list_images(args["training"]):
    image = cv2.imread(imagePath)
    gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
    hist = desc.describle(gray)

    labels.append(imagePath.split(os.path.sep)[-2])
    data.append(hist)

model = LinearSVC(C=100.0,random_state=42)
model.fit(data, labels)

for imagePath in paths.list_images(args["testing"]):

   

完整程序

运行结果展示

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 可以很明显的看出,提前存放的文件夹的图像训练成了相关文件夹名字的素材,而当检测到相关图片时,显示相关的名称。

后续

如果想了解更多物联网、智能家居项目知识,可以关注我的项目实战专栏。 或者关注公众号。 在这里插入图片描述

编写不易,感谢支持。

关注
打赏
1663745539
查看更多评论
立即登录/注册

微信扫码登录

0.0399s