<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      OpenCV 基礎數據類型

      channel 和 depth 理解

      Channel 是顏色的維度數量, 比如 BGR 的channel為3, BGRA則為4.
      depth 為單通道的顏色的精度, 比如CV_8U 的 depth為8位, 在OpenCV中, 8位為對應的depth取值為0, 下面是depth取值的枚舉:

          CV_8U - 8-bit unsigned integers ( 0..255 )
          CV_8S - 8-bit signed integers ( -128..127 )
          CV_16U - 16-bit unsigned integers ( 0..65535 )
          CV_16S - 16-bit signed integers ( -32768..32767 )
          CV_32S - 32-bit signed integers ( -2147483648..2147483647 )
          CV_32F - 32-bit floating-point numbers ( -FLT_MAX..FLT_MAX, INF, NAN )
          CV_64F - 64-bit floating-point numbers ( -DBL_MAX..DBL_MAX, INF, NAN )
      

      常用基礎數據類型

      • Rect/Rect2d/Rect2f 定義一個矩形區域, 帶大小和位置
      • Size/Size2d/Size2f 定義一個矩形大小, 不帶位置
      • Point/Point2d/Point3i 定義一個二維或三維的點坐標
      • Range/Rangef, 定義一個帶有下上限的范圍
      • Vec3b/Vec3d/Vec4b, 定義一個三維或四維的向量, Mat的每個點的取值可以用Vec表示
      • Scalar, 這個類支持定義一維/二維/三維/四維的向量, 元素都是double類型, Mat的每個點的取值可以用Scalar表示; 顏色也經常使用Scalar表示

      MatType 和 C# 類型的對應關系

      在創建Mat時, 需要指定每個位置點的數據類型, 即MatType, 常用的有 MatType.CV_8UC1 和 MatType.CV_8UC3 和 MatType.CV_8UC4.
      我們經常要使用 mat.At<>(x,y) 函數獲取指定點的顏色值, 對應單通道的取值, 可使用C#的byte等類型的變量存儲, 對于3/4通道, 經常使用 Vec3b或Vec4b類型來存儲.
      下表是常見MatType和C#類型的對應圖:

      基礎數據結構的示例代碼

         private void dataTypeTest()
        {
            //Rect/Rect2d/Rect2f 定義一個矩形區域, 帶大小和位置
            Rect rect = new Rect(10, 10, 20, 20);
            Rect2d rect2d = new Rect2d(10.0, 10.1, 20.2, 20.2);
            Rect2f rect2f = new Rect2f((float)10.0, (float)10.1, (float)20.2, (float)20.2);
      
            //Size/Size2d/Size2f 定義一個矩形大小, 不帶位置
            var mySize = new OpenCvSharp.Size(10, 10);
            Size2d size2d = new Size2d(10.1, 10.1);
      
            //Point/Point2d/Point3i 定義一個二維或三維的點坐標
            var myPoint = new OpenCvSharp.Point(10, 10);
            var point2d = new Point2d(10.0, 10.2);
            var point3i = new OpenCvSharp.Point3i(10, 10, 10);
      
            //Range/Rangef, 定義一個帶有下上限的范圍
            var myRange = new OpenCvSharp.Range(start: 10, end: 100);
            var rangef = new Rangef((float)10.1, (float)20.1);
      
            //Vec3b/Vec3d/Vec4b, 定義一個三維或四維的向量
            //Mat的每個點的取值可以用Scalar表示
            var vec3b = new Vec3b(0, 0, 0);
            var vec3d = new Vec3d(10.0, 0, 0);
            var vec4b = new Vec4b(10, 10, 10, 10);
            var vec4d = new Vec4d(10.0, 0, 0, 0);
      
            //Scalar, 這個類支持定義一維/二維/三維/四維的向量, 元素都是double類型
            //Mat的每個點的取值可以用Scalar表示
            //顏色也經常使用Scalar表示
            var scalar = new Scalar(1.0);
            var scalar2 = new Scalar(1.0, 1);
            var scalar3 = new Scalar(1.0, 1, 1);
            var scalar4 = new Scalar(1.0, 1, 1, 1);
        }
      
      

      MatType 類型示例代碼

              private void matTypeTest()
              {
      
                  //定義一個單通道的Mat
                  Mat mat1 = new Mat(new OpenCvSharp.Size(100, 100), MatType.CV_8UC1, new Scalar(1));
                  var vec1 = mat1.At<byte>(10, 10);
      
                  //定義一個三通道的Mat
                  Mat mat3 = new Mat(new OpenCvSharp.Size(100, 100), MatType.CV_8UC3, new Scalar(1, 2, 3));
                  var vec3 = mat3.At<Vec3b>(10, 10);
      
                  //定義一個四通道的Mat
                  Mat mat4 = new Mat(new OpenCvSharp.Size(100, 100), MatType.CV_8UC4, new Scalar(1, 2, 3, 4));
                  var vec3b = mat4.At<Vec3b>(10, 10); //不報錯, vec3b變量僅獲取到前3個通道的值
                  var vec4b = mat4.At<Vec4b>(10, 10); //vec4b變量能獲取到所有通道的值.
              }
      

      參考

      https://blog.csdn.net/qq_41253960/article/details/122087012
      https://blog.csdn.net/TyroneKing/article/details/129763177

      posted @ 2023-11-04 11:23  harrychinese  閱讀(113)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久精品国产九一九九九| 好了av四色综合无码| 高清中文字幕国产精品| 免费久久人人爽人人爽AV| 亚洲精品无码日韩国产不卡av| 毛多水多高潮高清视频| 亚洲av成人区国产精品| 国产成人综合色就色综合 | 亚洲一区二区日韩综合久久 | 绝顶丰满少妇av无码| 欧洲性开放老太大| 高清有码国产一区二区| 99国内精品久久久久久久| 国产精品三级黄色小视频| 农村妇女野外一区二区视频| 亚洲AV无码久久精品日韩| 国产成人精品一区二三区| 久久香蕉国产线看观看亚洲片| 国产精品视频中文字幕| AV毛片无码中文字幕不卡| 国产精品人成视频免| 无码熟妇人妻AV影音先锋| 无套内谢少妇毛片在线| 亚洲永久一区二区三区在线| 色综合热无码热国产| 精品综合一区二区三区四区| 久久香蕉国产线看观看亚洲片| 日本欧美大码a在线观看| 国产一区二区在线激情往| 人妻丰满熟AV无码区HD| 日本阿v片在线播放免费| 日本三级香港三级人妇99| 亚洲女人天堂| 亚洲人妻精品中文字幕| 乱人伦中文字幕成人网站在线| 26uuu另类亚洲欧美日本| 蜜臀98精品国产免费观看| 久久精品国产精品亚洲精品| 国产精品美女久久久久久麻豆 | 高清国产一区二区无遮挡| 三人成全免费观看电视剧高清|