• 京东商城图片价格识别


        因项目需要,花了点时间做了个小程序来演示京东商城的图片价格识别,初步试用效果还不错。

        先上个图:

    用了个最简单的算法:

    /// <summary>
            
    /// 图片解码
            
    /// </summary>
            
    /// <param name="srcBitmap">0-9和.的源图像</param>
            
    /// <param name="distBitmap">目标图像</param>
            
    /// <returns></returns>
            public static string DecodeGrayBitmap(IList<Bitmap> srcBitmap, Bitmap[] distBitmap)
            {
                StringBuilder sb 
    = new StringBuilder();

                
    foreach (Bitmap dist in distBitmap)
                {
                    
    int val = 0;
                    
    double max = 0;

                    
    for (int pos = 0; pos < srcBitmap.Count; pos++)
                    {
                        
    double n = ClacMatchRate(srcBitmap[pos], dist);

                        
    if (n > max)
                        {
                            max 
    = n;
                            val 
    = pos;
                        }

                        
    if (max > 0.9)
                            
    break;
                    }

                    
    if (val == 10)
                    {
                        sb.Append(
    '.');
                    }
                    
    else
                    {
                        sb.Append(val);
                    }
                }

                
    return sb.ToString();
            }

            
    public static double ClacMatchRate(Bitmap src, Bitmap dist)
            {
                
    double black = 0;
                
    double match = 0;

                
    int w = src.Width < dist.Width ? src.Width : dist.Width, h = src.Height < dist.Height ? src.Height : dist.Height;

                
    for (int x = 0; x < w; x++)
                {
                    
    for (int y = 0; y < h; y++)
                    {
                        
    int sc = PixelGrayValue(src.GetPixel(x, y));
                        
    int dc = PixelGrayValue(dist.GetPixel(x, y));

                        
    if (sc == 0 || dc == 0)
                        {
                            black
    ++;

                            
    if (sc == dc)
                                match
    ++;
                        }
                    }
                }

                
    return match / black;
            }


  • 相关阅读:
    ps入门之photoshop文件操作-打开与存储认识 (PS界面介绍)如何新建文档(03)
    ps入门之ps的工作界面的认识学习(界面介绍)界面的组成(02)
    markdown编辑器Typora
    5FAE8F6F96C59ED1字体
    清除浮动float (:after方法)
    SQL中Truncate的用法
    复合索引
    RESTful API 设计指南
    两种js方法发起微信支付:WeixinJSBridge,wx.chooseWXPay区别
    nuxt.js 简述
  • 原文地址:https://www.cnblogs.com/afxcn/p/2067539.html
Copyright © 2020-2023  润新知