• 大小: 22.6MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-07-03
  • 语言: C#
  • 标签: EmguCV  C#  颜色统计  

资源简介

本程序是采用visual studio 2015 winform写的窗体应用程序,EmguCV库采用的是3.4.0版本。主要功能:鼠标截取图像指定区域后自动统计该区域内的R、G、B、H、S、V六个通道的灰度值分布。 有个小bug,截取按钮不起作用,加载完图像后直接在图像上鼠标操作就行了

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Util;
using Emgu.Util.TypeEnum;
using Emgu.CV.UI;

namespace 颜色统计程序
{
    public partial class Form1 : Form
    {
        ImageProcessorClass my_image_processor;
        RoI my_roi;
        public Form1()
        {
            InitializeComponent();
            my_image_processor = new ImageProcessorClass();
        }

        private void btn_loadImg_Click(object sender EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = “BMP|*.bmp|JPG|*.jpg|PNG|*.png“;
            ofd.RestoreDirectory = true;
            if(ofd.ShowDialog() == DialogResult.OK)
            {
                Mat img = CvInvoke.Imread(@ofd.FileName);
                if(img != null)
                {
                    my_image_processor.SetSourceImg = img;
                    igb_srcimg.Image = img;
                }
            }
        }
        /// 
        /// 鼠标按下
        /// 

        /// 
        /// 
        bool isDragging = false;
        private void igb_srcimg_MouseDown(object sender MouseEventArgs e)
        {
            my_roi.x = e.X;
            my_roi.y = e.Y;
            isDragging = true;
        }

        private void igb_srcimg_MouseMove(object sender MouseEventArgs e)
        {
            if(isDragging)
            {
                int sx = my_roi.x < e.X ? my_roi.x : e.X;
                int sy = my_roi.y < e.Y ? my_roi.y : e.Y;
                int w = Math.Abs(my_roi.x - e.X);
                int h = Math.Abs(my_roi.y - e.Y);
                my_roi.w = w;
                my_roi.h = h;
                my_image_processor.SetRoI = my_roi;
                tb_loc_x.Text = sx.ToString();
                tb_loc_y.Text = sy.ToString();
                tb_loc_w.Text = w.ToString();
                tb_loc_h.Text = h.ToString();
                Mat temp = my_image_processor.SetSourceImg.Clone();
                CvInvoke.Rectangle(temp new Rectangle(new Point(my_roi.x my_roi.y) new Size(my_roi.w my_roi.h)) new Emgu.CV.Structure.MCvScalar(0 0 0));
                igb_srcimg.Image = temp;
            }
        }

        private void igb_srcimg_MouseUp(object sender MouseEventArgs e)
        {
            if(isDragging)
            {
                //Mat temp = my_image_processor.SetSourceImg.Clone();
                //CvInvoke.Rectangle(temp new Rectangle(new Point(my_roi.x my_roi.y) new Size(my_roi.w my_roi.h)) new Emgu.CV.Structure.MCvScalar(0 255 0));
                //igb_srcimg.Image = temp;
                // 统计RoI中各个颜色的分布
                my_image_processor.calcuRGBHSV();
    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-04-27 15:52  颜色统计程序\.vs\
     目录           0  2019-04-27 15:52  颜色统计程序\.vs\颜色统计程序\
     目录           0  2019-04-27 15:52  颜色统计程序\.vs\颜色统计程序\v14\
     文件       49152  2019-04-29 17:22  颜色统计程序\.vs\颜色统计程序\v14\.suo
     文件        1375  2019-04-28 14:18  颜色统计程序\颜色统计程序.sln
     目录           0  2019-04-29 17:22  颜色统计程序\颜色统计程序\
     文件         187  2019-04-27 15:52  颜色统计程序\颜色统计程序\App.config
     目录           0  2019-04-28 14:18  颜色统计程序\颜色统计程序\bin\
     目录           0  2019-04-28 14:12  颜色统计程序\颜色统计程序\bin\Debug\
     文件        7680  2018-10-15 19:03  颜色统计程序\颜色统计程序\bin\Debug\Emgu.CV.DebuggerVisualizers.VS2015.dll
     文件      110592  2018-10-15 19:03  颜色统计程序\颜色统计程序\bin\Debug\Emgu.CV.UI.dll
     文件       34738  2018-10-15 19:03  颜色统计程序\颜色统计程序\bin\Debug\Emgu.CV.UI.xml
     文件      641536  2018-10-15 19:02  颜色统计程序\颜色统计程序\bin\Debug\Emgu.CV.World.dll
     文件     1797678  2018-10-15 19:02  颜色统计程序\颜色统计程序\bin\Debug\Emgu.CV.World.xml
     文件       56624  2015-07-07 00:51  颜色统计程序\颜色统计程序\bin\Debug\Microsoft.VisualStudio.DebuggerVisualizers.dll
     文件      295424  2018-10-03 10:48  颜色统计程序\颜色统计程序\bin\Debug\ZedGraph.dll
     目录           0  2019-04-28 14:12  颜色统计程序\颜色统计程序\bin\Debug\zh-Hans\
     文件       21336  2015-07-07 01:25  颜色统计程序\颜色统计程序\bin\Debug\zh-Hans\Microsoft.VisualStudio.DebuggerVisualizers.resources.dll
     文件       26624  2019-04-28 14:17  颜色统计程序\颜色统计程序\bin\Debug\颜色统计程序.exe
     文件         187  2019-04-27 15:52  颜色统计程序\颜色统计程序\bin\Debug\颜色统计程序.exe.config
     文件       32256  2019-04-28 14:17  颜色统计程序\颜色统计程序\bin\Debug\颜色统计程序.pdb
     文件       22696  2019-04-28 14:17  颜色统计程序\颜色统计程序\bin\Debug\颜色统计程序.vshost.exe
     文件         187  2019-04-27 15:52  颜色统计程序\颜色统计程序\bin\Debug\颜色统计程序.vshost.exe.config
     文件         490  2015-10-22 09:54  颜色统计程序\颜色统计程序\bin\Debug\颜色统计程序.vshost.exe.manifest
     目录           0  2019-04-28 14:18  颜色统计程序\颜色统计程序\bin\Release\
     目录           0  2019-04-28 14:18  颜色统计程序\颜色统计程序\bin\x64\
     目录           0  2019-04-28 21:19  颜色统计程序\颜色统计程序\bin\x64\Debug\
     文件      331432  2018-01-14 01:32  颜色统计程序\颜色统计程序\bin\x64\Debug\concrt140.dll
     文件    31313920  2018-10-15 19:02  颜色统计程序\颜色统计程序\bin\x64\Debug\cvextern.dll
     文件     2429582  2018-10-15 19:02  颜色统计程序\颜色统计程序\bin\x64\Debug\cvextern.lib
     文件        7680  2018-10-15 19:03  颜色统计程序\颜色统计程序\bin\x64\Debug\Emgu.CV.DebuggerVisualizers.VS2015.dll
............此处省略59个文件信息

评论

共有 条评论