b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

imreadC#调用C++、Opencv的代码可以通过托管和(3)

电脑杂谈  发布时间:2018-01-28 02:04:38  来源:网络整理

{

// #region Color Pallette

/// <summary>

/// The ColorPalette of Grayscale for Bitmap Format8bppIndexed

/// </summary>

public static readonly ColorPalette GrayscalePalette = GenerateGrayscalePalette();

private static ColorPalette GenerateGrayscalePalette()

{

using (Bitmap image = new Bitmap(1, 1, PixelFormat.Format8bppIndexed))

{

ColorPalette palette = image.Palette;

for (int i = 0; i < 256; i++)

{

palette.Entries = Color.FromArgb(i, i, i);

}

return palette;

}

}

}

三、托管形式调用C++中的代码:

(1)C++工程下建“win32项目”应用程序的dll

imread函数的用法_imread_python imread

(2)建头文件:factory.h

#ifndef FACTORY_H

#define FACTORY_H

#include<opencv2/opencv.hpp>

using namespace std;

using namespace cv;

class factory

{

public:

void show();

};

#endif

(3)建CPP factory.cpp

#include"factory.h"

#include<opencv2/opencv.hpp>

using namespace cv;

void factory::show()

{

Mat img=imread("E://Image//1.jpg");

imshow("src",img);

waitKey(0);

}

(4)建头文件clrClass.h

#pragma once

#include"factory.h"

public ref class clrClass

{

public:

clrClass(void);

~clrClass(void);

int member;

void showImage();

private:

factory *clrFac;

};

(5)建CPP clrClass.cpp

#include"clrClass.h"

#include"factory.h"

clrClass::clrClass(void)

{

clrFac=new factory();

}

clrClass::~clrClass(void)

{

}

void clrClass::showImage()

{

clrFac->show();

}

(6)使用C++托管类进行封装。新增clrClass类。imreadimread并且右击C++项目->属性->配置属性->公共语言运行时支持->公共语言运行时支持(、\clr),然后进行编译生成DLL。托管形式不是将生成的dll放在C#项目工程的bin->debug目录下,使用方法后面介绍

(7)C#创建控制台应用程序

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace gg2

{

class Program

{

[STAThread]

static void Main(string[] args)

{

clrClass clr = new clrClass();

clr.showImage();

}

}

}

(8)右击C#项目中的引用,将生成的dll添加在引用中,就可以使用C++的类方法了


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-63301-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...