分享

怎样判断一张图片的颜色数据和亮度值

 西陵遐 2020-02-01
static void Main(string[] args)
        {           var di=new DirectoryInfo(@"C:\Users\Administrator\Desktop\pic");            foreach (var fi in di.GetFiles())
            {                var colorCount = 0;                float lightness = 0;
                GetPicColorCountAndLightness(fi.FullName, out colorCount, out lightness);
                Console.WriteLine(fi.Name + "     " + colorCount + "      " + lightness);
            }
           Console.ReadKey();
        }        /// <summary>
        /// 功能:输入一个图片的路径,返回这张图片使用的颜色个数和亮度        /// 作者:西陵遐       /// 时间:2020-1-31        /// </summary>
        /// <param name="picPath"></param>
        /// <param name="colorCount"></param>
        /// <param name="lightNess"></param>
        /// <returns></returns>
        public static void GetPicColorCountAndLightness(string picPath,out int colorCount,out float lightNess)
        {            var dict=new Dictionary<Color,int>();            var bmpobj = new Bitmap(picPath);            float allLightness = 0;            int count = 0;            for (var i = 0; i < bmpobj.Height; i++)
            {                for (var j = 0; j < bmpobj.Width; j++)
                {
                    count++;                    var a=bmpobj.GetPixel(j, i);
                    dict[a] = 1;                    //float hue = a.GetHue();                    //float saturation = a.GetSaturation();
                    allLightness += a.GetBrightness();
                }
            }
            colorCount = dict.Count;
            lightNess = allLightness;
        }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多