C#.NET验证码智能识别学习笔记---04C#.Net图片操作
技术qq交流群:JavaDream:251572072
教程下载,在线交流:it.yunsit.cn
----------------------------------------------
下面直接把代码贴出来了,注释写的很清楚不明白的留言把..
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing.Imaging;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace 验证码识别操作
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//一,图像操作
//.net的语法细节这里不再说了
//这个时候图片已经被加载到内存中了
//这里用Using进行资源的释放,以为Bitmap是一个实现了IDisposable接口类型
//关于using的用法看上一篇教程
//using(Bitmap bitmap = (Bitmap)Image.FromFile(@"G:\NET学习\workspace\验证码识别系统用到的资源\abc.jpg"))
// {
// //保存图片,第一个是图片路径,第二个参数是保存格式
// //bitmap.Save(@"G:\NET学习\workspace\验证码识别系统用到的资源\Test.gif",ImageFormat.Gif);
// //所有图片都是由像素点组成的,图片的像素坐标从左上角开始的,向右是x坐标,向下是y坐标
// //这里对图像的处理在c#.net中可以用getPixel,SetPixel方法取得设置像素
// //但是这种方法的效率是很低的,在c#.net也可以使用c++语法,使用指针操作效率最高
// //-------------------------------------------------------------------------
// //a.取得某个点的像素
// Color c = bitmap.GetPixel(3, 3);//取得这个坐标的像素
// //这里用getPixel,SetPixel方法对图片操作
// for (int i = 0; i < 100; i++) {
// bitmap.SetPixel(i, 0, Color.Red);
// //1.这时候修改的是内存中的图片
// }
// //2.保存图片
// bitmap.Save(@"G:\NET学习\workspace\验证码识别系统用到的资源\credream.jpg");
////b.取得像素的另一个方法 Color.FromArgb()
// Color colors = Color.FromArgb(255, 255, 255);
// //--------------------------------------------------------------
//
//}
//二,接下来说一个图像处理技巧:图片反色
//复杂的程序一般不会直接操作本来的那个图片上操作的,应该新建一张图
//
using (Bitmap bitmap = (Bitmap)Image.FromFile(@"G:\NET学习\workspace\验证码识别系统用到的资源\abc.jpg"))
{
//using (Bitmap bitmap = (Bitmap)Image.FromFile(@"G:\NET学习\workspace\验证码识别系统用到的资源\abc.jpg"))
using (Bitmap newBmp = new Bitmap (bitmap .Width ,bitmap .Height ))
{
//a.取得宽度的所有点
for (int i = 0; i < newBmp.Width;i++ ) {
//b.取得长度的所有的点
for (int j = 0; j < newBmp.Height;j++ ) {
Color c1 = bitmap.GetPixel(i, j);
//c.取得所在点的像素
Color c2 = Color.FromArgb(255 - c1.R, 255 - c1.G, 255 - c1.B);
//c.取得相反像素
newBmp.SetPixel(i, j, c2);
//d.在取得的位置进行相反像素的设置
//这时候是在内存中改的
}
}
newBmp.Save (@"G:\NET学习\workspace\验证码识别系统用到的资源\newqufan.jpg");
}
}
}
}
}
分享到:
相关推荐
ISO-C-stard.1999-04C语言标准,最新的c99标准
北大青鸟4.0 C#课件
:rocket: 你会建立什么? 该应用程序的主菜单可帮助您准备驾驶考试。 该任务的灵感来自于移动开发团队过去实现的任务之一。 您需要制作一个吸引人的菜单,以帮助用户快速浏览该应用程序。 :wrench: 推荐工具如果您不...
Learn to code for uboot tool using C programming
.Net Framework 4.5,VisualStudio 2017, 经测试于网上的CRC32校验验证结果完全相同, 标准CRC32参数模型,多项式0X04C11DB7
链轮-04C系列%40ST4C.zip
TDZT-04C铁电测试仪通过全局总线进行控制,可以有效提高仪器控制速度及安全水平。设备采用孔浮地技术,可有效地降低电荷泄露造成的驱动能力弱及电压泄露隐患。高压部分与低压部分通过浮地结构隔离,并在低压部分配置...
数字电路基础_D05-04C移位寄存器型计数器.pdf
随机本地生成验证码,可区分大小写和不区分大小写。
AC40-04C-SV-8 AC40-04D AC40-04DG-SV AC40-04D-R AC40-06 AC40-06C-T AC40-06D AC40-06D-T-R AC40-06-T AC40-04-X216 AC40-02-A AC40-03-A AC40-03C-A AC40-03D-A AC40-04-A AC40-04C-A AC40-04D-A AC40-04DG-A AC...
台达同步控制器SLC04C22A手册
nosql04c.mp4
exp04c.uvproj
在正点原子Mini开发板上实现HCSR04超声波测距,亲测可用
SGS-04C 网络型PLC可编程控制器、变频调速、电气控制及微机接口与微机应用综合实验装置.docx
AGRD04C-15_Guide_to_Road_Design_Part_4C_Interchanges.pdf
普霖pr04c驱动是由普霖官方推出的一款打印机驱动程序,适合购买了该型号打印机的用户进行使用,它可以有效的解决打印机和...官方介绍普霖PR-04C是一款最新的智能化财务票据专用打印机,打印支票完全符合,欢迎下载体验
SALARY04C[1].ppt
SALARY04C[1].pptx
MJSXJ02CM 小米智能摄像机云台版 MJSXJ05CM 小米智能摄像机云台版 ...CMSXJ04C 小白智能摄像机大众版1080P CMSXJ17A 小白智能摄像机大众版1080P CMSXJ02C 小白智能摄像机mini CMSXJ13D小白智能摄像机增强版