精华内容
下载资源
问答
  • OpenCV批量处理图片

    2021-04-10 19:31:41
    OpenCV图片批量处理前言直接上代码总结 前言 学习计算机视觉的过程中,会用到多张图片,很多时候图片的大小、比例各不相同在导入的时候挺麻烦的。所以就写了一个可以将一个文件夹里的图片批量处理成同样格式的代码...


    前言

    学习计算机视觉的过程中,会用到多张图片,很多时候图片的大小、比例各不相同在导入的时候挺麻烦的。所以就写了一个可以将一个文件夹里的图片批量处理成同样格式的代码。实现用的是OpenCV-Python。

    直接上代码

    import os
    import cv2 as cv
    from pylab import *
    
    maxsize = (100, 100)  # 定义缩略图的大小
    path = r'E:\PycharmProjects\SIFT\pic\result\pic' # 目标文件夹的路径
    
    
    # 读取整个文件夹的图片
    def read_path(pathname):
        imgname_list = os.listdir(pathname)
        img_list = []
        i = 0
        # 图片列表
        for imgname in imgname_list:
        	# 就算文件夹里有别的文件也没有瓜西!
        	# .endwith()可以把你想要的文件按照后缀名筛选出来
            if imgname.endswith('.jpg'):  
                img = cv.imread(pathname + '/' + imgname)
                img_n = cv.resize(img, maxsize, cv.INTER_AREA)
                filename = path + str(i) + '.png' 
                cv.imwrite(filename, img_n)  # need temporary files of the right size
                i = i + 1
                print(i)
        return img_list
    
    
    list = read_path(r'E:\PycharmProjects\SIFT\pic')  # 图片文件夹的路径
    print(list)  # 输出文件名
    
    

    总结

    对于个人还是很方便哒(゜∀。)

    系列文章

    OpenCV图片批量处理 (就是本文)

    想到再补充(゜∀。)

    展开全文
  • 2第二种批量处理代码如下 ``` #include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp> #include #include #include #include using namespace cv; using namespace std; int ...
  • Python-opencv 批量处理图片

    千次阅读 2020-06-30 08:46:35
    opencv实现图像的批量读取、裁剪、写入指定的文件夹 import glob i = 0 for jpgfile in glob.glob(r'F:\skillcode\good_programmer\Image\*.jpg'): image = cv2.imread(jpgfile) #print(image.shape) dst = ...

    用opencv实现图像的批量读取、裁剪、写入指定的文件夹

    import glob
    i = 0
    for jpgfile in glob.glob(r'F:\skillcode\good_programmer\Image\*.jpg'):
        image = cv2.imread(jpgfile)
        #print(image.shape)
        dst = image[0:175,0:250]
        #cv2.imshow('image', dst)
        #cv2.waitKey()
        cv2.imwrite('F:\skillcode\good_programmer\Image\{}.jpg'.format(i), dst)
        i = i + 1
    

    在这里插入图片描述

    展开全文
  • opencv批量处理一个文件夹里的图片,运行完会出现一个警告,帮忙看一下该怎么修改,谢谢。 ``` #include #include #include<opencv2/opencv.hpp> #include using namespace std; using namespace cv; ...
  • Python中利用OpenCV批量处理图片

    千次阅读 2019-11-28 17:37:25
    目的:实现图像的批量读取、裁剪、写入指定的文件夹 import cv2 import glob i = 0 for jpgfile in glob.glob(r'G:\Image\*,jpg'): image = cv2.imread(jpgfile) print(image.shape) #print(image.shape[0]) #...

    目的:实现图像的批量读取、裁剪、写入指定的文件夹

    import cv2
    import glob
    
    i = 0
    
    for jpgfile in glob.glob(r'G:\Image\*.jpg'):
    	image = cv2.imread(jpgfile)
    	print(image.shape)
    	#print(image.shape[0])	#height(rows) of image
    	#print(image.shape[1))	#width(colums) of image
    	#print(image.shape[2])	#the pixels value is made up of three primary colors
    	dst = image[0:175, 0:250]	#cutting
    	#cv2,imshow('image', dst)
    	#cv2.waitKey()
    	cv2.imwrite('G:\Image_Cutting\{}.jpg'.format(i), dst)
    	i = i + 1

    这段代码参考了很多同学的博客,在这里向他们表示感谢。

    展开全文
  • Opencv批量处理图片的两种方法

    千次阅读 2018-03-07 10:07:49
    转自:http://blog.csdn.net/hei_ya/article/details/51387624在生成训练集的时通常需要对文件夹中图片进行批处理,本文简要介绍图像批量读取、处理、保存的方法。...通过TXT批量处理图片&lt;span sty...

    转自:http://blog.csdn.net/hei_ya/article/details/51387624

    在生成训练集的时通常需要对文件夹中图片进行批处理,本文简要介绍图像批量读取、处理、保存的方法。


    方法一:

    1.生成图片描述文件

        对于有多幅图像的文件夹,首先生成txt文件,保存图片路径。


       在DOS模式下导入文件夹路径并生成TXT文件:



    2.通过TXT批量处理图片

    <span style="font-size:18px;">#include<opencv2/opencv.hpp>
    #include<iostream>
    #include<time.h>
    #include<fstream>
    
    using namespace std;
    using namespace cv;
    
    void main()
    {
    	ifstream file("C:/Users/Administrator/Desktop/date/MIT/MIT人脸库/faces/face.txt");
    
    	int img_index = 0;
    
    	while (!file.eof())
    	{
    		char txt_cont[200];
    		file.getline(txt_cont,200);
    
    		char img_file[200],save_file[200];
    
    		sprintf(img_file, "C:/Users/Administrator/Desktop/date/MIT/MIT人脸库/faces/%s", txt_cont);
    		sprintf(save_file, "C:/Users/Administrator/Desktop/date/MIT/MIT人脸库/save/%d.jpg", img_index);
    
    		Mat src = imread(img_file);
    
    		img_index++;
    		
    		imwrite(save_file,src);
    	}
    	
    }</span>

    方法二:

    利用Directory类实现文件夹中特定格式图像的遍历,Directory的头文件是windows.h。

    #include<opencv2/opencv.hpp>
    #include<iostream>
    #include<vector>
    #include<string>
    #include <windows.h>
    
    using namespace std;
    using namespace cv;
    
    
    void main()
    {
    	Directory dir;
    
    	string path1 = "C:\\Users\\Administrator\\Desktop\\date\\MIT\\MIT人脸库\\faces";
    	string  exten1 = "*.bmp";
    
    	vector<string> filenames = dir.GetListFiles(path1, exten1, false);
    
    	int size = filenames.size();
    
    	for (int i = 0; i < size;i++)
    	{
    		cout << filenames[i] << endl;
    	}
    }

    2. Directory类定义为

    class CV_EXPORTS Directory  
    {  
    public:  
        static std::vector<std::string> GetListFiles  ( const std::string& path, const std::string & exten = "*", bool addPath = true );  
        static std::vector<std::string> GetListFilesR ( const std::string& path, const std::string & exten = "*", bool addPath = true );  
        static std::vector<std::string> GetListFolders( const std::string& path, const std::string & exten = "*", bool addPath = true );  
    };  

    具体用法如下,使用这个类时,应该加上contrib.hpp头文件

    #include <iostream>  
    using namespace std;  
      
    #include <opencv2\opencv.hpp>  
    #include <opencv2\highgui\highgui.hpp>  
    #include <opencv2\contrib\contrib.hpp>  
    using namespace cv;  
      
    int main(int argc, char* argv[])  
    {  
        string dir_path = "D:\\opencv_pic\\test\\";  
        Directory dir;  
        vector<string> fileNames = dir.GetListFiles(dir_path, "*.jpg", false);  
      
        for(int i = 0; i < fileNames.size(); i++)  
        {  
            //get image name  
            string fileName = fileNames[i];  
            string fileFullName = dir_path + fileName;  
            cout<<"File name:"<<fileName<<endl;  
            cout<<"Full path:"<<fileFullName<<endl;  
      
            //load image  
            IplImage* srcImg = cvLoadImage(fileFullName.c_str(), CV_LOAD_IMAGE_UNCHANGED);  
            cvShowImage("src", srcImg);  
            cvWaitKey(0);  
        }  
        return 0;  
    }  
    参考:http://blog.csdn.net/qq_34784753/article/details/68935628


    展开全文
  • error: (-215:Assertion failed) !ssize.empty() in function ‘cv::resize’ 这个错误的多数原因是因为图像路径的错误,例如你某些手打的图像名称,是有可能出错的,多了“,” “。”等…
  • import matplotlib.pyplot as plt # plt 用于显示图片 import matplotlib.image as mpimg # mpimg 用于读取图片 def hisEqulColor1(img): ycrcb = cv.cvtColor(img, cv.COLOR_BGR2YCR_CB) channels = cv.split...
  • OpenCV 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown...
  • opencv批量读取图片

    2019-11-07 12:48:27
    转自:http://blog.csdn.net/hei_ya/article/details/51387624在生成训练集的时通常需要对文件夹中图片进行批处理,本文简要介绍图像批量读取、处理、保存的方法。方法一:1.生成图片描述文件    对于有多...
  • 在这里以批量处理图片数据为例,用矩形框标出文件夹下所有图片中的缺陷。本文章记录批量处理数据的方法,以备后续学习。 环境 python3.7.7+opencv3.4.11+pycharm社区版+windows10 环境很好搭建 到官网下
  • 在进行图像处理等问题是面临的一个问题是如何批量处理图片,这些图片存在在一个文件夹中,如何对这个文件夹中的数据进行批处理是非常重要的,下面介绍几种常用的方法。 1. sprintf()函数法 这种方法最为简单...
  • opencv——批量处理图片并保存

    万次阅读 2018-06-02 16:46:20
    背景:某文件夹X下有若干张图片,对每一张图片进行处理,将处理后的图片保存至新的文件夹Y下。#include &lt;opencv2/core/core.hpp&gt; #include &lt;opencv2/highgui/highgui.hpp&gt; #include &...
  • 本人在利用haar做训练,发现美图等软件处理图片数量有限,上线为500,就写了个代码来对大量图片修改
  • OpenCV 批量读取图片-规则下

    千次阅读 2019-06-29 11:07:32
    又是在进行处理的时候需要批量读取图像,在图片名称规律的情况下还是挺简单的,在OpenCV中利用sprintf函数实现在窗口中连续读取同一文件夹下的连续图片-即规则下读取。 1 新建文件夹不要含中文 比如我在桌面上新建一...
  • 一、PILPIL(Python Imaging Library)是Python中一个图像处理标准库。PIL功能非常强大,但API却非常简单易用。PIL仅支持到Python 2.7,后来在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又...
  • 车牌识别是一种图像处理技术,用于识别不同车辆。这项技术被广泛用于各种安全检测中。现在让我一起基于OpenCV编写Python代码来完成这一任务。车牌识别的相关步骤1.车牌检测:第一步是从汽车上检测车牌所在位置。我们...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 199
精华内容 79
关键字:

opencv批量处理图片