欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#使用OpenCv圖像批處理并改變圖片大小并且重命名

 更新時間:2020年02月05日 11:50:15   作者:_冉冉  
這篇文章主要介紹了C#使用OpenCv圖像批處理并改變圖片大小并且重命名,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

添加NuGet包


選擇最新版就好了


安裝完成后右鍵項目重新生成方案

使用OpenCvSharp.CPlusPlus命名空間

using OpenCvSharp.CPlusPlus;

寫一個函數(shù)用來改變圖片大小并且重新命名

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函數(shù)中使用該函數(shù)

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();
    }

運行結(jié)果


完整代碼

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);
    }
  }

  
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • c#方法重寫和隱藏的學(xué)習(xí)示例

    c#方法重寫和隱藏的學(xué)習(xí)示例

    最近正在學(xué)習(xí)c#,對其中的方法重寫和隱藏的概念很是模糊,現(xiàn)在將其歸納如下供大家參考
    2014-01-01
  • C#?重寫Notification提示窗口的示例代碼

    C#?重寫Notification提示窗口的示例代碼

    本文主要介紹了C#?重寫Notification提示窗口的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • C#中Stopwatch的使用及說明

    C#中Stopwatch的使用及說明

    這篇文章主要介紹了C#中Stopwatch的使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • c#通過進程調(diào)用cmd判斷登錄用戶權(quán)限代碼分享

    c#通過進程調(diào)用cmd判斷登錄用戶權(quán)限代碼分享

    最近自己開發(fā)軟件需要讀取本地配置文件,因為登錄用戶的權(quán)限不夠會導(dǎo)致無法讀取文件進而導(dǎo)致程序崩潰,查了一些解決方法,代碼分享如下
    2013-12-12
  • C#使用Lazy實現(xiàn)延遲加載的方法示例

    C#使用Lazy實現(xiàn)延遲加載的方法示例

    在C#中,Lazy< T> 類是一個非常有用的工具,它可以用于延遲加載值,在本文中,我們將詳細(xì)介紹 Lazy< T> 的實現(xiàn)機制和用法,并提供一些示例來展示它的優(yōu)勢,文中通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • C#?Web實現(xiàn)文件上傳的示例詳解

    C#?Web實現(xiàn)文件上傳的示例詳解

    這篇文章主要為大家詳細(xì)介紹了C#?Web實現(xiàn)文件上傳的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • 理解C#中參數(shù)的值和引用以及傳遞結(jié)構(gòu)和類引用的區(qū)別

    理解C#中參數(shù)的值和引用以及傳遞結(jié)構(gòu)和類引用的區(qū)別

    這篇文章主要介紹了理解C#中參數(shù)的值和引用以及傳遞結(jié)構(gòu)和類引用的區(qū)別,文中舉了兩段代碼例子來簡單說明,需要的朋友可以參考下
    2016-01-01
  • c# 通過內(nèi)存映射實現(xiàn)文件共享內(nèi)存的示例代碼

    c# 通過內(nèi)存映射實現(xiàn)文件共享內(nèi)存的示例代碼

    這篇文章主要介紹了c# 通過內(nèi)存映射實現(xiàn)文件共享內(nèi)存的示例代碼,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-04-04
  • C#利用子線程刷新主線程分享教程

    C#利用子線程刷新主線程分享教程

    本文將詳細(xì)介紹C#利用子線程如何刷新主線程,需要了解更多的朋友可以參考下
    2012-11-11
  • C#多線程系列之線程池

    C#多線程系列之線程池

    本文詳細(xì)講解了C#多線程中的線程池,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02

最新評論