图片分类器

大量图片杂乱无章,手动分类方法:

用键盘决定分类目标文件夹,简化了操作。

图片分类器作用:

1、随便按一个键,源文件夹下第1张图片会被分入“11 重回收文件”中

2、看图软件会打开指定源文件夹下的第2张图片

2、按小键盘(数字键盘),不同按键对应不同文件夹,会将浏览的图片放入对应文件夹

3、看图软件自动打开下一张图片,按键对当前显示文件继续分类

4、以此类推,直到源文件夹剩下一张图片

# 操作流程
# 1、将待分类图片放入源文件夹(自己设定路径,不要有子文件夹存在)
# 2、建立分类目录文件夹(自己设定路径)
# 3、执行程序,使用小键盘分类
# 4、按键说明:
#            ‘1 2 3 4 5 6 7 8 9 0 .’    11个键文件放入对应的文件夹;
#            esc键,程序退出
#            其它键,文件放入”重回收文件“这个文件夹(自己设定路径)
# 5、需要用到的浏览图片软件,Picasa3,需要自己设定路径
源代码:
 

import os
import shutil
from pynput.keyboard import Key, Listener
import sys
 
 
# 待分类的图片存放的源文件夹
path_yuan = 'D:\\pictures 待分类\\'
 
 
# 分类文件夹目录
path_mubiao_0 = 'D:\\pictures 分类完\\0 景色0\\'
path_mubiao_1 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
图像分类是机学习中的一个重要问题,它需要大量的数据和计算资源。C语言本身不支持图像处理,因此如果要用C语言实现图像分类,需要使用一些图像处理库。 以下是一个使用OpenCV库实现的图像分类的示例代码: ``` #include <opencv2/opencv.hpp> #include <opencv2/dnn.hpp> #include <opencv2/imgproc.hpp> #include <opencv2/highgui.hpp> #include <iostream> using namespace cv; using namespace cv::dnn; using namespace std; int main(int argc, char** argv) { String model_weights = "resnet50_weights_tf_dim_ordering_tf_kernels.h5"; String model_architecture = "resnet50_architecture.json"; Net net = readNetFromTensorflow(model_weights, model_architecture); String image_file = "dog.jpg"; Mat image = imread(image_file); Size size(224,224); Mat blob = blobFromImage(image, 1.0, size, Scalar(104, 117, 123)); net.setInput(blob); Mat prob = net.forward(); Point classIdPoint; double confidence; minMaxLoc(prob.reshape(1, 1), 0, &confidence, 0, &classIdPoint); int classId = classIdPoint.x; vector<String> classes; ifstream class_file("imagenet_classes.txt"); if (class_file.is_open()) { string class_name; while (std::getline(class_file, class_name)) { classes.push_back(class_name); } } cout << "Best class: " << classes[classId] << endl; cout << "Confidence: " << confidence * 100 << "%" << endl; return 0; } ``` 上述代码使用OpenCV和TensorFlow来实现图像分类。首先加载模型,然后读取要分类的图像,将其转换为4维Blob,并将其作为网络的

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值