博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(原創) 如何使用C++/CLI读/写jpg檔? (.NET) (C++/CLI) (GDI+) (C/C++) (Image Processing)
阅读量:6248 次
发布时间:2019-06-22

本文共 1145 字,大约阅读时间需要 3 分钟。

Abstract

因为Computer Vision的作业,之前都是用C# + GDI+写,但这次的作业要做Grayscale Dilation,想用STL的Generic Algorithm写,但C++ Standard Library并无法读取jpg档,用其它Library又比较麻烦,所以又回头想到GDI+,能同时使用STL和GDI+的,也只有C++/CLI了,我想这也是C++/CLI的优势之一,可以让你同时发挥.NET Framework和STL的power,以下的范例demo如何使用C++/CLI配合GDI+将jpg档读进来,并写入jpg檔。

Introduction

此范例比须手动加上Reference System.Drawing.dll

 1
ExpandedBlockStart.gif
ContractedBlock.gif
/**/
/* 
 2InBlock.gif(C) OOMusou 2006 http://oomusou.cnblogs.com
 3InBlock.gif
 4InBlock.gifFilename    : ReadJpg.cpp
 5InBlock.gifCompiler    : Visual C++ 8.0
 6InBlock.gifDescription : Demo how to read/write jpg by GDI+
 7InBlock.gifRelease     : 11/19/2006
 8ExpandedBlockEnd.gif*/
 9
None.gif
10
None.gif#include 
"
stdafx.h
"
11
None.gif
12
None.gif
using
 
namespace
 System::Drawing;
13
None.gif
using
 
namespace
 System::Drawing::Imaging;
14
None.gif
15
ExpandedBlockStart.gifContractedBlock.gif
int
 main() 
dot.gif
{
16InBlock.gif  Bitmap ^originalImage = gcnew Bitmap("lena.jpg");
17InBlock.gif  Bitmap ^newImage = gcnew Bitmap(originalImage->Width, originalImage->Height);
18InBlock.gif
19ExpandedSubBlockStart.gifContractedSubBlock.gif  for(int x = 0; x!= originalImage->Width;++x) dot.gif{
20ExpandedSubBlockStart.gifContractedSubBlock.gif    for(int y = 0; y != originalImage->Height; ++y) dot.gif{
21InBlock.gif      int r = originalImage->GetPixel(x,y).R;
22InBlock.gif      int g = originalImage->GetPixel(x,y).G;
23InBlock.gif      int b = originalImage->GetPixel(x,y).B;
24InBlock.gif
25InBlock.gif      newImage->SetPixel(x,y, Color::FromArgb(r, g, b));
26ExpandedSubBlockEnd.gif    }
27ExpandedSubBlockEnd.gif  }
28InBlock.gif
29InBlock.gif  newImage->Save("newlena.jpg");
30InBlock.gif
31InBlock.gif  return 0;
32ExpandedBlockEnd.gif}
See Also

转载地址:http://rvria.baihongyu.com/

你可能感兴趣的文章
刚毕业不久,就在人工智能上做出这样大贡献
查看>>
中国人工智能学会通讯——迎接深度学习的“大”挑战(下) 1.2 深度学习的挑战和机遇...
查看>>
不可不看!即将发布的浪潮高端存储
查看>>
锐捷工程师:深夜敲击键盘的样子,很燃
查看>>
数据中心未来的商业化系统
查看>>
《算法技术手册》一2.3 最好、最坏和平均情况下的性能分析
查看>>
LTE-Hi渐行渐近 有望打破4G深度覆盖局限
查看>>
Nuance报告:医护人员如何从人工智能中受益
查看>>
JavaScript异步与Promise实现
查看>>
Android内存泄漏产生的6大原因
查看>>
F5 Networks任命Adam Judd领导亚太区销售工作 将加速区域云和安全业务发展
查看>>
将给企业带来巨大转变的八项“变革式”技术趋势
查看>>
ICML精彩论文:学界与业界联手,通过监测无线信号来判断睡眠阶段
查看>>
欧盟下周或有条件批准微软收购领英
查看>>
指纹识别不安全 美研究人员万能指纹解锁成功率达65%
查看>>
外媒:全球科技进入中美两强时代
查看>>
美国国家安全局在英国运营数据中心从事间谍活动
查看>>
【CVPR 2021主席出炉】谭铁牛、虞晶怡当选,未来4年6位华人主席
查看>>
CRM给企业带来的五大成效
查看>>
继 OpenAI 之后,DeepMind 开源深度学习训练平台 DeepMind Lab
查看>>