c# - 是否可以以编程方式为图像着色?

标签 c# image image-processing graphics colorize

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

7年前关闭。




Improve this question




在我“最疯狂的梦想”中,我想将图像传递给这样的方法(伪 C#):

string pathToOriginalImg = @"http://commons.wikimedia.org/wiki/File:Mark_Twain_by_AF_Bradley.jpg";
Image colorizedImg = new ColorizeImage(pathToOriginalImg, [array of colors]);

IOW,将要着色的图像的路径以及要在着色中使用的颜色数组传递给方法。例如,如果我想“西类牙化”马克吐温的这张照片,我可能想将西类牙和墨西哥国旗的颜色传递给它,例如:森林绿、白色、墨西哥红;西类牙红,黄。

这可能吗,或者我什至希望这样的小屋还差一个小木屋?

最佳答案

您的描述类似于 pseudocoloring ,您可以根据映射模式将源颜色映射到新颜色。当然,您将如何映射完全取决于您,并且以一种有意义的方式(以某种方式)为每张图像自动化它充其量几乎是不可能的。但是,您可以定义一些一般规则,例如始终尝试将绿色映射到其中一个(如果可用):黄色,然后是蓝色,然后是 58% 的灰度。
阅读 here可能会给你额外的想法。
作为 256 色 RGB 图像作为源图像和 6 色作为目标图像的示例模式,您可以将 256 除以 6,并且对于每个“颜色区域”,您可以从目标颜色数组中提供一种新颜色。生成的图像将只有 6 种颜色,并且几乎可以肯定会丢失细节。

关于c# - 是否可以以编程方式为图像着色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22101267/

相关文章:

c# - .net XMS 中的 IBM-MQ 阅读器用于逐一确认已处理的消息

html - 调整图像大小以适应具有最大宽度集的 div

image-processing - 检查图像是否包含文本?

java - 在调整大小之前计算调整大小的图像(例如 JPEG)的文件大小

c++ - 使用 OpenCV 进行多色物体检测

c# - 从经典 ASP 访问 .NET 程序集

C# 为什么从类中调用接口(interface)成员会产生错误?

c# - TypeScript 中的接口(interface)逆变

java - 显示图像并转换为灰度 - OpenCV for Android, Java API

html - 背景图像 CSS 不工作