C#使用OpenCv图像批处理并改变图片大小并且重命名

 更新时间:2020年02月05日 11:50:15   作者:_冉冉  
这篇文章主要介绍了C#使用OpenCv图像批处理并改变图片大小并且重命名,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

添加NuGet包


选择最新版就好了


安装完成后右键项目重新生成方案

使用OpenCvSharp.CPlusPlus命名空间

using OpenCvSharp.CPlusPlus;

写一个函数用来改变图片大小并且重新命名

read_path是存储图片的文件夹的路径,write_path是改变后图片存储的文件夹路径,filename是图片重命名,width和height分别为图片修改后的宽和高

public static void ResizeImg(String read_path,String write_path,String filename,double width,double height) {

      Mat img1 = new Mat(read_path);
      Mat img2 = img1;

      OpenCvSharp.CPlusPlus.Size size = new OpenCvSharp.CPlusPlus.Size(width, height);
      Cv2.Resize(img1, img2, size, 0, 0);
      Cv2.ImWrite(write_path+"\\"+ filename, img2);
    }

在Main函数中使用该函数

static void Main(string[] args)
    {
      string dir_path = @"G:\TestImg";//读取路径
      String write_path = "G:\\TestImg2";//存储路径
      String[] filenames=Directory.GetFiles(dir_path);
      for (int i = 0; i < filenames.Length; i++) {
        ResizeImg(filenames[i], write_path, i + ".png", 200, 300);
      }
      Console.ReadKey();
    }

运行结果


完整代码

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenCvSharp;
using OpenCvSharp.CPlusPlus;
using System.Runtime.InteropServices;
using System.IO;

namespace ResizeTest
{
  class Program
  {
    static void Main(string[] args)
    {
      string dir_path = @"G:\TestImg";//读取路径
      String write_path = "G:\\TestImg2";//存储路径
      String[] filenames=Directory.GetFiles(dir_path);
      for (int i = 0; i < filenames.Length; i++) {
        ResizeImg(filenames[i], write_path, i + ".png", 200, 300);
      }
      Console.ReadKey();
    }

    public static void ResizeImg(String read_path,String write_path,String filename,double width,double height) {

      Mat img1 = new Mat(read_path);
      Mat img2 = img1;

      OpenCvSharp.CPlusPlus.Size size = new OpenCvSharp.CPlusPlus.Size(width, height);
      Cv2.Resize(img1, img2, size, 0, 0);
      Cv2.ImWrite(write_path+"\\"+ filename, img2);
    }
  }

  
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 如何使用C#操作幻灯片

    如何使用C#操作幻灯片

    一般大家经常会用PPT遥控翻页笔来遥控幻灯片,本文确为大家介绍了使用C#制作一个遥控幻灯片,感兴趣的朋友可以参考下
    2015-07-07
  • 深入谈谈C#9新特性的实际运用

    深入谈谈C#9新特性的实际运用

    这篇文章主要给大家介绍了C#9新特性的实际运用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • C#递归实现显示文件夹及所有文件并计算其大小的方法

    C#递归实现显示文件夹及所有文件并计算其大小的方法

    这篇文章主要介绍了C#递归实现显示文件夹及所有文件并计算其大小的方法,是遍历算法中比较典型的一种应用,有不错的学习借鉴价值,需要的朋友可以参考下
    2014-08-08
  • C#创建一个Word并打开的方法

    C#创建一个Word并打开的方法

    这篇文章主要介绍了C#创建一个Word并打开的方法,实例分析了C#操作word的常用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • 基于C#实现的屏幕指定区域截屏代码

    基于C#实现的屏幕指定区域截屏代码

    这篇文章主要介绍了C#实现的屏幕指定区域截屏代码,有需要的朋友可以参考一下
    2014-01-01
  • C#设计模式之策略模式

    C#设计模式之策略模式

    这篇文章介绍了C#设计模式之策略模式,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • C# 线程同步详解

    C# 线程同步详解

    本文主要介绍了C#中线程同步的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • C#中判断本地系统的网络连接状态的方法

    C#中判断本地系统的网络连接状态的方法

    C#中一般通过InternetGetConnectedState函数返回本地系统的网络连接状态,下面简单介绍下,需要的朋友可以参考下
    2013-10-10
  • C#通过属性名字符串获取、设置对象属性值操作示例

    C#通过属性名字符串获取、设置对象属性值操作示例

    这篇文章主要介绍了C#通过属性名字符串获取、设置对象属性值操作,结合实例形式总结分析了C#通过反射获取对象属性值并设置属性值,获取对象的所有属性名称及类型等相关操作技巧,需要的朋友可以参考下
    2020-03-03
  • WPF实现可视化扫码器的示例代码

    WPF实现可视化扫码器的示例代码

    AForge.NET 是一个专门为开发者和研究者基于C#框架设计的,他包括计算机视觉与人工智能,图像处理,神经网络,遗传算法,机器学习,模糊系统,机器人控制等领域。本文就将用它编写一个可视化扫码器,感兴趣的可以了解一下
    2022-11-11

最新评论