社区
C#
帖子详情
C#里的图像变化
ernestm
2004-11-02 11:50:48
我想问一下Visual.C#有没有什么控件能够把图像用一个二维数组或别的代替,然后又能够把二维数组转化为图像
...全文
289
17
打赏
收藏
C#里的图像变化
我想问一下Visual.C#有没有什么控件能够把图像用一个二维数组或别的代替,然后又能够把二维数组转化为图像
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
E0888
2004-11-22
打赏
举报
回复
推荐一个C#群:6613147,欢迎C#热心的C#爱好者加入(注:如果只是想潜水的,请不要加。)
haiwangstar
2004-11-22
打赏
举报
回复
要注意的是,在你操作从流创建的图像时,要保持流打开,否则会异常。。
haiwangstar
2004-11-22
打赏
举报
回复
其实非常简单。我加了注释那几行就应该是你要的。
就是把一个图像写入流,和从一个流中创建图像。如果你想要图像的字节数组,取流的GetBuffer即可。。
下面的代码是操作位图字节数据的。
wsjdx
2004-11-22
打赏
举报
回复
顶
haiwangstar
2004-11-22
打赏
举报
回复
Bitmap bit = sourceImage as Bitmap; //
if(bit == null) //如果原图不是位图。
{
MemoryStream s = new MemoryStream();
sourceImage.Save(s,ImageFormat.Bmp);//写入流。
bit = (Bitmap)Image.FromStream(s); //从流中读取位图。
}
BitmapData bmData = bit.LockBits(new Rectangle(0, 0, bit.Width, bit.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
int stride = bmData.Stride;
System.IntPtr Scan0 = bmData.Scan0;
int r=0, g=0, b=0;
float v=0;
unsafe
{
byte * p = (byte *)(void *)Scan0;
int nOffset = stride - bit.Width*3;
for(int i=0;i<bit.Height;++i)
{
for(int x=0; x < bit.Width; ++x )
{
r = p[2];
g = p[1];
b = p[0];
v = r*0.299F + g*0.587F + b*0.114F + 0.3F;
hist[(byte)v]++;
p += 3;
}
p += nOffset;
}
}
bit.UnlockBits(bmData);
int total = 0;
for(int i=0; i!=256; i++)
{
if(hist[i]>total)
{
total = hist[i];
}
}
for(int i=0; i!=256; i++)
{
// values[i] = (int)((float)hist[i]/total*100);
values[i] = Math.Min(100,(hist[i]*1024/total));
}
newImageValue = true;
ernestm
2004-11-22
打赏
举报
回复
怎么没有人回答,帮帮忙嘛
ernestm
2004-11-11
打赏
举报
回复
我是个新手,您能不能给一个具体的例子(binarywriter把image的buffer写入流,
取的话用Image.From(xstream))给我,非常感谢!
kangxidadi
2004-11-10
打赏
举报
回复
位图格式图像本身就是二维的像素数组,用像素的x,y坐标就可以存取像素,如果非要用数组形式,可以自己写个类封装位图,用坐标做索引。
用流存图片,简单的做法是new 一个流对象,用binarywriter把image的buffer写入流,
取的话用Image.From(xstream)就行了。
ernestm
2004-11-10
打赏
举报
回复
还想问一下有没有什么组件能够对图象进行变形,像弯曲这一类的
ernestm
2004-11-10
打赏
举报
回复
自己将图像转换为二进制流,然后再还原成图像,能不能把这个方法具体说一下呀,谢谢
AhBian
2004-11-02
打赏
举报
回复
利用 Bitmap.GetPixel 和 Bitmap.SetPixel 方法可以实现楼主的要求.
但现成的组件好象没有。
「已注销」
2004-11-02
打赏
举报
回复
可以
xiaoslong
2004-11-02
打赏
举报
回复
up
_jfeng
2004-11-02
打赏
举报
回复
没有,自己将图像转换为二进制流,然后再还原成图像,是可以的
canoe_eyes
2004-11-02
打赏
举报
回复
gz
lidawen
2004-11-02
打赏
举报
回复
學習
520NET
2004-11-02
打赏
举报
回复
LG
C#
OpenCV机器视觉:特征匹配 “灵魂伴侣”
不过呢,这
图像
的世界变幻莫测,就像小孩子的脸,说变就变。“哎呀,这 SIFT 就跟我找理想伴侣似的,” 阿强笑着挠挠头,眼中满是调侃,“虽然过程磨磨蹭蹭,看得我心急如焚,但最后找出来的,那还真就是最合适的,不得不服啊!“SURF 就像是一个超火的快速约会应用,” 阿强调侃道,脸上带着坏笑,“总能迅速帮
图像
找到看着还挺合适的匹配,先配对了再说,至于以后嘛,走一步看一步咯!“这俩算法就像是我的双胞胎兄弟,” 阿强笑着说,眼睛
里
闪烁着得意,“关键时刻从不掉链子,总能给我提供最给力的帮助,有它们在,我心
里
踏实!
C#
WinForm
图像
拖动控制数值
变化
实战
首先定义一个简洁的状态枚举类型,用于表达
图像
当前所处的操作阶段:Idle, // 无拖动Dragging // 正在拖动配合私有字段_dragState进行状态追踪:// 记录按下时的相对坐标状态迁移图如下所示:Idle --> Dragging : MouseDown + 左键Dragging --> Idle : MouseUp 或 Capture丢失Dragging --> Dragging : MouseMove(持续更新)该状态机确保只有在Dragging。
C#
OpenCV OpenCVSharp应用实例--轮廓匹配/形状匹配查找模板
图像
(适用角度
变化
)
本文作者Color Space,文章未经作者允许禁止转载! 本文将介绍OpenCVSharp应用实例--轮廓匹配/形状匹配查找模板
图像
(适用角度
变化
)! 实现目标:查找定位下列类型
图像
中的十字轮廓并标记出来。 预期效果图: 实现步骤: 1、找其中一幅
图像
中截取十字部分ROI
图像
做模板; 2、通过二值化+轮廓筛选,找到十字的轮廓(对应的轮廓序号),用于轮廓匹配; 3、加载测试
图像
,使用同样的参数做二值化+轮廓筛选,满足一定宽高大小的轮廓才做轮廓匹配 4、设置轮廓匹配阈值,小于阈值的
彩色
图像
的曲线灰度
变化
(伽马变换)
前言做的数字媒体实验课作业程序,学到不少的新东西,先说题,再细讲。 题目要求:参照PhotoShop中的“曲线调整”功能,运用所学知识实现彩色
图像
的曲线灰度变换。 当然我写的没有PS的功能那么强大,只做了简单的伽马变换,先放程序的效果图吧。 程序分析处理流程首先
图像
处理使用的是OpenCV,图形界面显示使用的
C#
。 程序为什么使用
C#
而不用C++写图形界面呢?MFC或Qt
C#
图像
搜索算法优化实践
在信息技术快速发展的今天,
图像
搜索技术正变得愈发重要。
图像
搜索广泛应用于搜索引擎、数据挖掘、医疗成像和安全监控等多个领域。它不仅涉及到
图像
处理的基础知识,还需要深刻理解计算机视觉和模式识别的原理。
C#
作为一种高级编程语言,借助.NET框架,为
图像
搜索技术提供了丰富的类库和接口。在
C#
中进行
图像
搜索,开发者可以利用其强大的开发环境和语言特性,结合
图像
处理库如Emgu CV(一个封装了OpenCV的.NET库)来实现复杂的
图像
搜索算法。
C#
111,128
社区成员
642,536
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章