作者z115988 (Lee)
看板C_Sharp
标题[问题] 影像处理,修改色彩空间与像素(更)
时间Wed Jan 25 17:43:33 2017
1/27修改文章以利於阅读、更新问题
新手发问
刚接触C# & EMGUCV 影像处理
想试图针对一些简单影像操作
目的:
目前想针对输入影像RGB
透过函式转换成其他色彩空间
例如修改Lab的L通道
实作时遇到问题:
为了增加程式对图片像素运作的速度
其中一中方式是将资料放进记忆体运算如网址:
https://msdn.microsoft.com/zh-tw/library/5ey6h79d(v=vs.110).aspx
可使用此方式
透过上列网址的范例程式
把整张影像,转成Bitmap
透过记忆体方式想修改色彩空间中的通道值,如下
rgbvalues[i] = 80;
事实上我并没有修改范例程式
感觉是在范例程式某个环节 或 修改像素时哪里出错了
新手使用C#影像处理
不知道写法是否与大多数人相同
还请各位先进帮忙解惑
--------问题更新------------
无论使用GDI或EMGUCV时
将资料放进记忆体空间时
通常都是指定byte格式(好像是记忆体单位?
硬体不太精通,错误请纠正)
但若我使用的色彩空间是Lab这类
像素值可能大於255或是负号时
我该如何在记忆体空间运算我的像素
例:a的范围介於-500~500
已经超过byte可以计算范围
--
Sent from my Windows
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.102.132.44
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1485337420.A.EB6.html
1F:→ z115988: 另外想请问,bitmap格式是预设RGB的PIXEL吗? 小弟有点摸01/25 17:44
2F:→ z115988: 不着头绪01/25 17:44
※ 编辑: z115988 (110.30.80.88), 01/25/2017 17:47:09
3F:→ capercat: 不是很懂你想问的问题....感觉你需要rgb to Lab 後 改01/27 00:45
4F:→ capercat: 变L值之後..再将新的Lab to rgb 在放回bitmap里面!...01/27 00:45
5F:→ capercat: 改变L只是让她变亮而已...01/27 00:45
6F:→ capercat: Msdn写的rgbvalue[]是一个一维矩阵..排列顺序为BGR...范01/27 00:50
7F:→ capercat: 例是修改R值...你可能要先转换成Lab..才能做後续的处理01/27 00:50
8F:→ z115988: c大你好,您说的正确,藉由Lab修改亮度也是我的目的。冗01/27 01:20
9F:→ z115988: 长的描述是我担心表达不正确。我处理时已将RGB转成LAB丢01/27 01:20
10F:→ z115988: 进范例处理,而在Lab丢进记忆体修改时遇到问题:Lab01/27 01:20
11F:→ z115988: 值在rgbvalue[]中并不相同。其中我认为我在设定lockbit01/27 01:20
12F:→ z115988: 时,其中参数PixelFormat为Format24bppRgb是错的,但我01/27 01:20
13F:→ z115988: 目前不知道要用甚麽格式去取代。我有在微软论坛发一篇文01/27 01:20
14F:→ z115988: 章,或许从里面您更能了解我的问题(内含我写程式的流程)01/27 01:20
※ 编辑: z115988 (59.102.132.44), 01/27/2017 01:33:29
15F:→ z115988: 网址已经更新在内文,不好意思PTT不给我贴缩网址,连结 01/27 01:35
16F:→ z115988: 时可能需要注意一下 01/27 01:35
※ 编辑: z115988 (59.102.132.44), 01/27/2017 01:38:28
17F:推 Litfal: 为什麽你不重头到尾使用EmguCV,而要途中改回GDI的Bitmap? 01/27 01:55
18F:→ Litfal: 直接修改 red_lab_img2 的L通道不是很简单吗? 01/27 02:03
19F:→ Litfal: 而且为什麽你的TDepth要用Single...? 01/27 02:17
20F:→ z115988: L大您好,目前在练习C#与EMGUCV,程式技巧略绌还请见谅, 01/27 03:07
21F:→ z115988: TDepth是下午在思考bug时测试,未注意到修改。想请问一下 01/27 03:07
22F:→ z115988: ,您指出原来Emgucv有直接修改颜色通道函式,可否指点一 01/27 03:07
23F:→ z115988: 下函式名称?(注:当初想使用此方式是因为未来可能对影片作 01/27 03:07
24F:→ z115988: 处理,得知使用内存处理影像似乎速度比较快(?)) 01/27 03:07
25F:推 Litfal: MIplImage 01/27 10:07
感谢您,让我测试看看
※ 编辑: z115988 (59.102.132.44), 01/27/2017 22:59:19