none
颜色对比 RRS feed

  • 问题

  • VB.NET里面怎么对比两个颜色的相似度。我现在有450种颜色已经给定,现在从picturebox上面的图片上取出一个点的颜色值,然后用已给定的450种颜色对比,如果相同或者最近似于这个颜色那么用这个450颜色相同的或者相似的颜色替换图片上的取出来的点的颜色值。我用RGB值一个一个对比,可以对比出来,但是整张图片的颜色替换的话速度很慢,图片像素大一点机子可能会死机。根本找不到好一点对比颜色的方法。望高手指点。。。。谢谢。。。我姐姐开过卖十字绣的店,他有一个软件叫SoonSunEmbroider,它把图片上的颜色一下子替换出来,都不知道它是怎么做到的。。。
    muradil
    2010年3月7日 12:07

答案

  • 你好,

    我经过很多搜索和研究,发现网上有关于说GetPixel/setpixel效率的问题,似乎推荐用GetBitmapBits与SetBitmapBits处理会快很多。以下就是那个相关的帖子
    http://topic.csdn.net/t/20050527/18/4040917.html

    然后我又搜索了一些关于GetBitmapBits的文章,以下是一篇比较详细的,希望对你有点帮助。
    http://www.yesadmin.com/360/59987/index.html

    Sincerely,
    Kira Qian
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework!
    2010年3月8日 9:15
  • 你这个也行,但是速度还是提不上来,颜色对比的话我想到了一个好办法,用XOR运算。两种颜色越相似XOR运算后的结果越接近0。上面的问题是SetPixel和GetPixel的速度还行,只是一种颜色跟450中颜色对比起来速度很慢。谢谢你的帮忙。。。。


    muradil
    2010年3月9日 2:55

全部回复

  • 你好,

    我经过很多搜索和研究,发现网上有关于说GetPixel/setpixel效率的问题,似乎推荐用GetBitmapBits与SetBitmapBits处理会快很多。以下就是那个相关的帖子
    http://topic.csdn.net/t/20050527/18/4040917.html

    然后我又搜索了一些关于GetBitmapBits的文章,以下是一篇比较详细的,希望对你有点帮助。
    http://www.yesadmin.com/360/59987/index.html

    Sincerely,
    Kira Qian
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework!
    2010年3月8日 9:15
  • 你这个也行,但是速度还是提不上来,颜色对比的话我想到了一个好办法,用XOR运算。两种颜色越相似XOR运算后的结果越接近0。上面的问题是SetPixel和GetPixel的速度还行,只是一种颜色跟450中颜色对比起来速度很慢。谢谢你的帮忙。。。。


    muradil
    2010年3月9日 2:55