void CtestprintDlg::workpic(CString filename)
{
CImage m_image;
m_image.Load(filename);
int nBPP_image;
nBPP_image=m_image.GetBPP();
int arr[130][53]={0};
int first = 1;
int px,py;
//往左扫描
for (int y=0;y<53;y++)
{
for (int x=0;x<130;x++)
{
bool bEqual;
byte r[8],g[8],b[8],avg[8];
if (nBPP_image==24)
{
{//向→看
BYTE* target =(BYTE*)m_image.GetPixelAddress(x,y);r[0] = *(target+0); g[0] = *(target+1); b[0] = *(target+2);
avg[0] = (r[0] + g[0] + b[0]) /3;
if (avg[0]>200)
{
m_image.SetPixelRGB(x,y,255,255,255);
arr[x][y]=0;
} else
{
if(first == 1)
{
px = x;
py = y+3;
//m_image.SetPixelRGB(x,y,255,0,255);
first = 2;
}
m_image.SetPixelRGB(x,y,0,0,0);
arr[x][y]=1;
}
}
}
}
}
GetLetter(m_image,px,py);
// N_image.Save("N.jpg");
m_image.Save(_T("testprintDlg.bmp"));
}
void CtestprintDlg::Rotate(CImage &myImage1 )
{
//程序编制:李立宗 lilizong@gmail.com
//2012-8-5
CImage myImage2;
if(myImage1.IsNull())
return ;
if(myImage2.IsNull()){
myImage2.Create(myImage1.GetWidth(),myImage1.GetHeight(),24,0);
}
COLORREF pixel;
int maxY = myImage1.GetHeight();
int maxX=myImage1.GetWidth();
byte* pRealData;
byte* pRealData2;
pRealData=(byte*)myImage1.GetBits();
pRealData2=(byte*)myImage2.GetBits();
int pit=myImage1.GetPitch();
int pit2=myImage2.GetPitch();
int bitCount=myImage1.GetBPP()/8;
int bitCount2=myImage2.GetBPP()/8;
int tempR,tempG,tempB;
float cons
qq验证码识别
最新推荐文章于 2024-03-30 09:42:06 发布
这段代码展示了如何在C++中实现QQ验证码识别的过程,包括图片加载、像素处理、旋转操作和字母定位。通过扫描和设置像素值来识别验证码,并使用旋转函数对图像进行角度调整,以提高识别准确性。
摘要由CSDN通过智能技术生成