C# OpenCVSharp open resized image

1.Install-package OpenCvSharp4.Windows;

2.

using OpenCvSharp;
using static System.Net.Mime.MediaTypeNames;

namespace ConsoleApp20
{
    internal class Program
    {
        static void Main(string[] args)
        {
            RenderImg();
            RenderResizedImg();
            //RenderGrayImage();
            Console.WriteLine("Hello, World!");
        }

        private static void RenderImg(string imgUrl= @"../../../Images/1.jpg")
        {
            Mat img = Cv2.ImRead(imgUrl, ImreadModes.Color);
            if(img.Empty())
            {
                Console.WriteLine($"Could not or find image {imgUrl}");
                return;
            }

            Cv2.ImShow("CV2Img", img);
            Cv2.WaitKey(0);
            img.Dispose();
            Cv2.DestroyAllWindows();
        }

        static void RenderResizedImg(string imgUrl = @"../../../Images/1.jpg")
        {
            Mat img = Cv2.ImRead(imgUrl, ImreadModes.Color);
            if(img.Empty())
            {
                Console.WriteLine("Could not open or find the image!");
                return;
            } 
            int windowWidth = 1500;
            int windowHeight = 800;

                      
            double scaleX = (double)windowWidth / img.Width;
            double scaleY = (double)windowHeight / img.Height;
            double scale = scaleX < scaleY ? scaleX : scaleY;
           
            Mat resizedImage = new Mat();
            Cv2.Resize(img, resizedImage, new Size(), scale, scale);
            
            Cv2.ImShow("Resized Big Image", resizedImage);
            //Cv2.ImShow("Display window", img);
            Cv2.WaitKey(0);
            img.Dispose();
            Cv2.DestroyAllWindows();
        }

        static void RenderGrayImage()
        {
            Mat img = Cv2.ImRead(@"../../../Images/2.jpg", ImreadModes.Color);
            if (img.Empty())
            {
                System.Console.WriteLine("Could not open or find the image!");
                return;
            }

            Mat grayImg = new Mat();
            Cv2.CvtColor(img, grayImg, ColorConversionCodes.BGR2GRAY);
            Cv2.ImShow("Gray Image", grayImg);
            Cv2.WaitKey(0);
            img.Dispose();
            grayImg.Dispose();
            Cv2.DestroyAllWindows();
        }
    }
}

 

 

 

 

 

 

 

 

posted @ 2025-03-08 22:03  FredGrit  阅读(17)  评论(0)    收藏  举报