hucya
技术员
技术员
  • 最后登录2020-03-16
  • 发帖数23
  • 金币652枚
  • 贡献勋章0枚
  • 社区居民
阅读:8707回复:135

C# 自动对焦算法开源

楼主#
更多 发布于:2017-12-30 08:47
自己在网上搜索的论文,对照论文实现的源码,三种算法,测试效果相当不错,识别halcon例子中的pcb_focus 效果不错,三种算法均可识别第57张图片最清晰……


public static unsafe double GetBrennerQuality(this Bitmap src)
public static unsafe double GetEntropyQuality(this Bitmap src)
public static unsafe double GetLinearQuality(this Bitmap src)


 public static unsafe double GetBrennerQuality(this Bitmap src)
        {
            try
            {
                double val = 0;
                Rectangle rec = new Rectangle(0, 0, src.Width, src.Height);
                byte[] data = src.ToGrayData();
                if (data != null)
                {
                    fixed (byte* ptr = data)
                    {
                        val = GetBrennerQuality(new IntPtr(ptr), rec.Width, rec.Height);
                    }
                }
                return val;
            }
            catch
            {
                return 0;
            }
        }

        public static unsafe double GetBrennerQuality(IntPtr src, int w, int h)
        {
            try
            {
                double sum = 0;
                double val = 0;
                byte* ptr = (byte*)src;
                int num = 0;
                int pnum = 0;
                for (int j = h; j > 0; j--)
                {
                    pnum = j * h;
                    for (int i = w; i > 0; i--)
                    {
                        num = pnum + i;
                        //if (i == 0 || i == w - 1 || j == 0 || j == h - 1)
                        //{
                        //    val = 0;
                        //}
                        //else
                        {
                            val = Math.Pow(ptr[num] - ptr[num - 1], 2);
                        }
                        sum += val;
                    }
                }
                return Math.Round(sum / (h * w),3);
            }
            catch
            {
                return 0;
            }
附件名称/大小 下载次数 最后更新
Com.zip (7KB)  364 2017-12-30 08:46 售价3金币[记录]
喜欢23

最新打赏:0人

zh900619
助理工程师
助理工程师
  • 最后登录2020-05-25
  • 发帖数348
  • 金币1891枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
沙发#
发布于:2017-12-30 17:07
顶一顶看一看……………………
liuxingan
初学者
初学者
  • 最后登录2020-05-26
  • 发帖数388
  • 金币51枚
  • 贡献勋章0枚
板凳#
发布于:2018-01-01 11:52
这么牛,学习一下。。。。。。。。。。。。。
whxsxh
初学者
初学者
  • 最后登录2020-02-16
  • 发帖数45
  • 金币50枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
地板#
发布于:2018-01-03 19:11
顶一顶看一看……………………
binaimei2007
技术员
技术员
  • 最后登录2020-05-27
  • 发帖数100
  • 金币591枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
4楼#
发布于:2018-01-04 16:02
学习一下,谢谢楼主。。。
18898582368
初学者
初学者
  • 最后登录2019-04-27
  • 发帖数65
  • 金币17枚
  • 贡献勋章0枚
  • 社区居民
5楼#
发布于:2018-01-04 20:42
世间竟然又这么吊的算法,必须看看
lvhco
初学者
初学者
  • 最后登录2020-03-26
  • 发帖数139
  • 金币60枚
  • 贡献勋章0枚
6楼#
发布于:2018-01-05 18:53
顶一个,要是能配合说明下就更好了
tangm
助理工程师
助理工程师
  • 最后登录2020-05-27
  • 发帖数396
  • 金币1330枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
7楼#
发布于:2018-01-06 15:56
顶一下,看看。。。学习。。。
shipperli
技术员
技术员
  • 最后登录2020-02-11
  • 发帖数91
  • 金币964枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
8楼#
发布于:2018-01-06 16:56
顶一下,学习学习算法
清风明月风之恋
初学者
初学者
  • 最后登录2020-05-19
  • 发帖数77
  • 金币24枚
  • 贡献勋章0枚
9楼#
发布于:2018-01-17 16:48
学习学习,感谢楼主!!!
476332903
助理工程师
助理工程师
  • 最后登录2019-01-15
  • 发帖数49
  • 金币258枚
  • 贡献勋章0枚
10楼#
发布于:2018-01-18 10:50
学习一下,谢谢楼主。。。
xuexue
技术员
技术员
  • 最后登录2020-05-27
  • 发帖数261
  • 金币612枚
  • 贡献勋章0枚
  • 社区居民
11楼#
发布于:2018-01-18 11:05
厉害厉害  感谢楼主
214877973
技术员
技术员
  • 最后登录2020-05-10
  • 发帖数123
  • 金币252枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
12楼#
发布于:2018-01-31 00:08
这么牛,学习一下。。。。。。。。。。。。。
蛮三刀666
助理工程师
助理工程师
  • 最后登录2020-05-27
  • 发帖数81
  • 金币1995枚
  • 贡献勋章0枚
  • 忠实会员
  • 社区居民
13楼#
发布于:2018-01-31 14:54
学习一下,楼主辛苦了。。。。。
ckingz666
初学者
初学者
  • 最后登录2018-10-26
  • 发帖数20
  • 金币12枚
  • 贡献勋章0枚
  • 社区居民
14楼#
发布于:2018-01-31 17:10
比较牛的算法,谢谢大神的无私奉献!
上一页
游客

返回顶部
支付

欢迎打赏,请选择打赏金额

  • 1元
  • 6元
  • 10元
  • 66元
  • 100元

支付即代表同意《本站支付协议》 有疑问请联系客服