c# OpenCV cv2.resize
时间: 2023-12-21 22:30:58 浏览: 44
以下是使用c# OpenCV中的cv2.resize函数进行图像缩放的示例代码:
```csharp
using OpenCvSharp;
using System;
class Program
{
static void Main()
{
Mat img = Cv2.ImRead("lena.png");
Console.WriteLine(img.Size());
int cols = img.Cols;
int rows = img.Rows;
Size size = new Size((int)(cols * 0.9), (int)(rows * 0.5));
Mat rst = new Mat();
Cv2.Resize(img, rst, size);
Console.WriteLine("img.Size=" + img.Size());
Console.WriteLine("rst.Size=" + rst.Size());
Cv2.ImShow("img", img);
Cv2.ImShow("rst", rst);
Cv2.WaitKey(0);
Cv2.DestroyAllWindows();
}
}
```
相关问题
C# opencv
C#使用OpenCV的一些代码如下:
1. 需要加头文件
```csharp
using OpenCvSharp;
```
2. 读取图片
```csharp
Mat img1 = new Mat("F:\\all_truck\\truck_3.jpg", ImreadModes.Color);
Cv2.ImShow("win1", img1);
Cv2.WaitKey(0);
```
3. 定义一个没有初始化的图片作为复制
```csharp
Mat pBkImage_copy = new Mat();
pBkImage.CopyTo(pBkImage_copy);
```
4. 灰度化
```csharp
Cv2.CvtColor(img1, img1, ColorConversionCodes.BGR2GRAY);
```
5. 高斯模糊和size数据格式的定义
```csharp
Size ksize = new Size(5, 5);
Cv2.GaussianBlur(img1, img1, ksize, 0);
```
6. 二值化
```csharp
Cv2.Threshold(img1, img1, 128, 255, ThresholdTypes.Binary);
```
7. 开闭运算
```csharp
Mat kernel = Cv2.GetStructuringElement(MorphShapes.Rect, new Size(3, 3));
Cv2.MorphologyEx(img1, img1, MorphTypes.Open, kernel);
```
8. FindContours查找轮廓和contours参数的定义和操作
```csharp
Point[][] contours;
HierarchyIndex[] hierarchy;
Cv2.FindContours(img1, out contours, out hierarchy, RetrievalModes.External, ContourApproximationModes.ApproxSimple);
```
9. Rect和Size格式的定义
```csharp
Rect rect = Cv2.BoundingRect(contours[0]);
Size size = new Size(rect.Width, rect.Height);
```
10. resize函数在图片上画矩形框在图片上画直线
```csharp
Cv2.Rectangle(img1, rect, Scalar.Red, 2);
Cv2.Line(img1, new Point(0, 0), new Point(img1.Width, img1.Height), Scalar.Blue, 2);
```
opencvsharp cv2 函数解读
OpenCVSharp是OpenCV的C#封装库,cv2是OpenCV库中的一个模块,提供了很多图像处理的函数。下面是一些常用的cv2函数及其解释:
1. cv2.imread():读取图像文件。
2. cv2.imshow():在窗口中显示图像。
3. cv2.cvtColor():将图像从一种颜色空间转换为另一种颜色空间。
4. cv2.inRange():提取图像中指定颜色范围内的像素。
5. cv2.threshold():对图像进行二值化处理。
6. cv2.resize():调整图像大小。
7. cv2.add():将两个图像进行加法运算。
8. cv2.subtract():将两个图像进行减法运算。
9. cv2.bitwise_and():对两个图像进行按位与运算。
10. cv2.bitwise_or():对两个图像进行按位或运算。
除了上述函数外,cv2模块还提供了很多其他的图像处理函数,可以根据具体需求进行选择和使用。