网站建设的商业计划书,迎访问中国建设银行网站-,长沙医考网站建设公司,godaddy中文网站开发杨振宁大学物理1214 色带矩形带来很大麻烦#xff01;
今天想到一个方法#xff0c;整个色带矩形拉通#xff0c;做个通铺处理#xff0c;不计算#xff0c;代码做最小化#xff0c;最稳定追求。
因为黄色字稳定#xff0c;我们找到他的中心#xff0c;而这个色带矩形… 杨振宁大学物理1214 色带矩形带来很大麻烦
今天想到一个方法整个色带矩形拉通做个通铺处理不计算代码做最小化最稳定追求。
因为黄色字稳定我们找到他的中心而这个色带矩形和这个中心的关系及其稳定。 timer中最后整理的代码 Bitmap glob_curBitmap bmp; Rectangle rc new Rectangle(0, 0, glob_curBitmap.Width, glob_curBitmap.Height); System.Drawing.Imaging.BitmapData bmpdata glob_curBitmap.LockBits(rc, System.Drawing.Imaging.ImageLockMode.ReadWrite, glob_curBitmap.PixelFormat); IntPtr imageptr bmpdata.Scan0; int ww glob_curBitmap.Width; int hh glob_curBitmap.Height; int bytes 0; bytes ww * hh * 4;//此处针对的是32位位图 byte [] rgbValues new byte[bytes]; // pictureBox1.Image bmp2; // byte[] glob_buffer8 new byte[ww * hh]; rgbbufercopyB new byte[ww * hh]; rgbbufercopyG new byte[ww * hh]; rgbbufercopyR new byte[ww * hh]; System.Runtime.InteropServices.Marshal.Copy(imageptr, rgbValues, 0, bytes); glob_curBitmap.UnlockBits(bmpdata); for (int ii 0; ii hh; ii) { for (int j 0; j ww; j) { int n ii * ww j; rgbbufercopyR[n] rgbValues[4 * n 2] ; rgbbufercopyG[n] rgbValues[4 * n 1] ; rgbbufercopyB[n] rgbValues[4 * n] ; glob_buffer8[n] (byte)(0.3 * rgbValues[n * 4 2] 0.6* rgbValues[n * 4 1] 0.1 * rgbValues[n * 4]); } } //使用新方法原版改进不必匹配利用黄色稳定性202412131248 int junzhix 0; int junzhiy 0; int 计数 0; for (int i 240; i 480; i)//我们认为黄色字在图像下半部 { byte fugair 0; byte fugaig 0; byte fugaib 0; byte fugai 0; for (int j 0; j 640; j) { int n i * ww j; float hue 0; RGB2HSLTest(rgbValues[4 * n 2], rgbValues[4 * n 1], rgbValues[4 * n], ref hue); if (hue 35 hue 85)//黄色范围给的比较宽泛 {//黄色 //新增寻找黄色字50-63外接矩形202412130850 if (hue 50 hue 63)//黄色收窄 { junzhiy i; junzhix j; 计数; } rgbValues[4 * n 2] (byte)(rgbValues[4 * n 2 - 4 * ww] / 2 fugair / 2); rgbValues[4 * n 1] (byte)(rgbValues[4 * n 1 - 4 * ww] / 2 fugaig / 2); rgbValues[4 * n] (byte)(rgbValues[4 * n - 4 * ww] / 2 fugaib / 2); } else { rgbbufercopyR[n] fugair rgbValues[4 * n 2]; rgbbufercopyG[n] fugaig rgbValues[4 * n 1]; rgbbufercopyB[n] fugaib rgbValues[4 * n]; } } } 黄色中心 new Point(junzhix / 计数, junzhiy / 计数); textBox15.Text 黄色中心.X.ToString(); textBox16.Text 黄色中心.Y.ToString();
//消除色带矩形 for (int i 0; i 640; i) for (int j 黄色中心.Y - 58; j 黄色中心.Y 60; j)//5860118色带矩形高 { int temp j * 640 i;//原方法 rgbValues[temp * 4] (byte)(rgbValues[temp * 4] 50 255 ? 255 : rgbValues[temp * 4] 50); rgbValues[temp * 4 1] (byte)(rgbValues[temp * 4 1] 50 255 ? 255 : rgbValues[temp * 4 1] 50); rgbValues[temp * 4 2] (byte)(rgbValues[temp * 4 2] 50 255 ? 255 : rgbValues[temp * 4 2] 50); } showrgbbuffer2pict(rgbValues, ww, hh, pictureBox1); ok一种方法走到底持续的改进使得现在这个版本感觉比机器视觉匹配版本好
所有都做完了想一下能不能就在原来的网页上实现相同功能把我们验证后的程序界面隐去呢
可以试一试绝对可以
我的电脑屏幕是1366*768的其他电脑分辨率没试过你也可以去试一试如果有问题可以做相应修改一定能行