=?ks_c_5601-1987?B?VmlydHVhbEZyZWUgsKG787jeuPC4riDH2MGmvcMguN648LiuILiv?=
=?ks_c_5601-1987?B?ua7Bpi4u?=
This is a multi-part message in MIME format.
------=_NextPart_000_0008_01C69ED8.3B18E690
Content-Type: text/plain;
charset="ks_c_5601-1987"
Content-Transfer-Encoding: quoted-printable
=BE=B2=B7=B9=B5=E5 =C5=AC=B7=A1=BD=BA=B8=A6 =B8=B8=B5=E9=B0=ED Run() =
=BA=CE=BA=D0=BF=A1 =BE=C6=B7=A1=BF=CD =B0=B0=C0=CC =B0=A1=BB=F3 =
=B8=DE=B8=F0=B8=AE=B8=A6 =C0=E2=BE=D2=BD=C0=B4=CF=B4=D9.
=B1=D7=B7=B1=B5=A5, =C0=CC=B7=B1 =BE=B2=B7=B9=B5=E5=B0=A1 7=B0=B3 =
=C1=A4=B5=B5 =C0=D6=B1=B8=BF=E4. =B0=E8=BC=D3=C0=FB=C0=B8=B7=CE =
=B7=E7=C7=C1=B8=A6 =B5=B9=B0=D4 =B5=C7=BE=EE =C0=D6=BD=C0=B4=CF=B4=D9.
=B6=C7 =C0=CC=B7=B1 =BE=B2=B7=B9=B5=E5=B8=A6 =B0=FC=B8=AE=C7=CF=B4 =
=B8=C5=B4=CF=C0=FA =BE=B2=B7=B9=B5=E5=B0=A1 =C0=D6=BD=C0=B4=CF=B4=D9.
=B8=C5=B4=CF=C0=FA =BE=B2=B7=B9=B5=E5=B0=A1 7=B0=B3=C0=C7 =
=BE=B2=B7=B9=B5=E5=B8=A6 =BB=FD=BC=BA=C7=CF=B0=ED, =C0=CF=C0=BB =
=BD=C3=C5=B0=B0=D4 =C7=D5=B4=CF=B4=D9.
=C7=C1=B7=CE=B1=D7=B7=A5=C0=BB =BD=C7=C7=E0=BD=C3=C5=B0=B8=E9, =
=B8=DE=B8=F0=B8=AE=B0=A1 =C7=D8=C1=A6=B5=C7=C1=F6 =BE=CA=B0=ED, =
=C0=DA=B2=D9 =C1=F5=B0=A1=B5=C7=B4 =B0=D4 =
=C0=DB=BE=F7=B0=FC=B8=AE=C0=DA=BF=A1=BC=AD =BA=B8=C0=D4=B4=CF=B4=D9.
=B4=EB=C3=BC =C1=A6=B0=A1 =B9=BB =C0=DF=B8=F8=C7=D1 =
=B0=C9=B1=EE=BF=E4...
1.5G=C0=C7 =B8=DE=B8=F0=B8=AE=B8=A6 =C0=E2=BE=C6 =B8=D4=BE=EE=BF=E4... =
=BE=C6=B8=B6 =B0=E8=BC=D3=C0=FB=C0=B8=B7=CE =C1=F5=B0=A1=C7=CF=B4=D9 =
=C7=C8~ =C1=D7=B0=DA=C1=D2...
VirtualAlloc(NULL, ImageSize1, MEM_RESERVE, PAGE_READWRITE);
=C0=B8=B7=CE =BF=B9=BE=E0=C7=CF=B0=ED,
VirtualAlloc(pDlg->m_pSrcBits, ImageSize1, MEM_COMMIT, PAGE_READWRITE);
=C4=BF=B9=D4=C7=CF=B0=ED,
VirtualFree(pDlg->m_pSrcBits, 0, MEM_RELEASE); // =B0=A1=BB=F3 =
=B8=DE=B8=F0=B8=AE =C7=D8=C1=A6
=C7=D8=C1=A6=C7=DF=B0=C5=B5=E7=BF=E4.
=B4=EB=B7=AB =C0=CC=B9=CC=C1=F6 =C5=A9=B1=E2=B0=A1 =
=B0=A1=BA=AF=C0=FB=C0=CC=B6=F3. =BA=D2=C7=D5=B8=AE=C7=CF=C1=F6=B8=B8, =
=B8=DE=B8=F0=B8=AE=B8=A6 =C7=D2=B4=E7=C7=CF=B0=ED =
=C7=D8=C1=A6=C7=CF=B4 =B0=C9 =B9=DD=BA=B9=C7=D5=B4=CF=B4=D9.
VirtualFree=B4 TRUE=B7=CE =B3=D1=BE=EE=BF=C0=B0=C5=B5=E7=BF=E4...
=C1=BB =BE=CB=B7=C1=C1=D6=BC=BC=BF=E4...
-------------------------------------
pDlg->m_pSrcBits = (BYTE *)VirtualAlloc(NULL, ImageSize1, =
MEM_RESERVE, PAGE_READWRITE);
pDlg->m_pDstBits = (BYTE *)VirtualAlloc(NULL, ImageSize2, =
MEM_RESERVE, PAGE_READWRITE);
pDlg->m_pSrcGrayBits = (BYTE *)VirtualAlloc(NULL, ImageSize1, =
MEM_RESERVE, PAGE_READWRITE);
pDlg->m_pDstGrayBits = (BYTE *)VirtualAlloc(NULL, ImageSize2, =
MEM_RESERVE, PAGE_READWRITE);
if(pDlg->m_pSrcBits == NULL || pDlg->m_pSrcBits == NULL){
OrgBitmap.DeleteObject();
DstBitmap.DeleteObject();
pDlg->GetBitmapFile();
//pDlg->Invalidate(FALSE);
Sleep(1); continue;
}
if(!pDlg->m_pSrcGrayBits || !pDlg->m_pDstGrayBits) continue;
#ifdef _DEBUG
MEMORY_BASIC_INFORMATION meminfo1, meminfo2;
VirtualQuery(pDlg->m_pSrcBits, &meminfo1, sizeof(meminfo1));
VirtualQuery(pDlg->m_pDstBits, &meminfo2, sizeof(meminfo2));
TRACE("SRCBITS: %d (bytes), %d(pages)\r\n", =
(UINT)meminfo1.RegionSize, (UINT)meminfo1.RegionSize / 4096);
TRACE("DSTBITS: %d (bytes), %d(pages)\r\n", =
(UINT)meminfo2.RegionSize, (UINT)meminfo2.RegionSize / 4096);
#endif
VirtualAlloc(pDlg->m_pSrcBits, ImageSize1, MEM_COMMIT, =
PAGE_READWRITE);
VirtualAlloc(pDlg->m_pDstBits, ImageSize2, MEM_COMMIT, =
PAGE_READWRITE);
VirtualAlloc(pDlg->m_pSrcGrayBits, ImageSize1, MEM_COMMIT, =
PAGE_READWRITE);
VirtualAlloc(pDlg->m_pDstGrayBits, ImageSize2, MEM_COMMIT, =
PAGE_READWRITE);
if(OrgBitmap.GetBitmapBits(ImageSize1, pDlg->m_pSrcBits) && \
DstBitmap.GetBitmapBits(ImageSize2, pDlg->m_pDstBits)){
OrgBitmap.GetBitmapBits(ImageSize1, pDlg->m_pSrcGrayBits);
DstBitmap.GetBitmapBits(ImageSize2, pDlg->m_pDstGrayBits);
try{
pDlg->m_Analzer.SetImage(pDlg->m_pSrcBits, bm1.bmWidth, =
bm1.bmHeight, 0, \
pDlg->m_pDstBits, bm2.bmWidth, bm2.bmHeight, 0);
pDlg->m_Analzer.SetGrayImage(pDlg->m_pSrcGrayBits, bm1.bmWidth, =
bm1.bmHeight, 0, \
pDlg->m_pDstGrayBits, bm2.bmWidth, bm2.bmHeight, 0);
pDlg->m_Analzer.AnalFrame(GRAYSCALE_MODE, &accuracy);
}
catch(CAnalyzerException *pEx){
TRACE("DEFECT IMAGE: %s \rn", pEx->m_szErrMessage);
ST_DEFECT st;
st.code = pEx->m_iErrCode;
st.similarity = accuracy;
strcpy(st.desc, pEx->m_szErrMessage);
strcpy(st.imagepath, pDlg->m_ImgFile2);
strcpy(st.orgpath, pDlg->m_ImgFile1);
st.orgwidth = bm1.bmWidth;
pEvt->SendMessage(WM_MAIN_DEFECT_MESSAGE, (WPARAM)&st, 0);
pEx->Delete();
}
//pDlg->m_Analzer.AnalFrame(COLOR_MODE, &accuracy);
//pDlg->AnalFrame(NULL);
//temp.Format("%d", pDlg->m_Pool->GetCount());
//((CStatic *)pDlg->GetDlgItem(IDC_DTCOUNT2))->SetWindowText(temp);
temp.Format("%.05f", accuracy);
((CStatic *)pDlg->GetDlgItem(IDC_STSIMILAR))->SetWindowText(temp);
pDlg->Invalidate(FALSE);
}
VirtualFree(pDlg->m_pSrcBits, 0, MEM_RELEASE); // =B0=A1=BB=F3 =
=B8=DE=B8=F0=B8=AE =C7=D8=C1=A6
VirtualFree(pDlg->m_pDstBits, 0, MEM_RELEASE); // =B0=A1=BB=F3 =
=B8=DE=B8=F0=B8=AE =C7=D8=C1=A6
VirtualFree(pDlg->m_pSrcGrayBits, 0, MEM_RELEASE); // =B0=A1=BB=F3 =
=B8=DE=B8=F0=B8=AE =C7=D8=C1=A6
VirtualFree(pDlg->m_pDstGrayBits, 0, MEM_RELEASE); // =B0=A1=BB=F3 =
=B8=DE=B8=F0=B8=AE =C7=D8=C1=A6
pDlg->m_pSrcBits = NULL;
pDlg->m_pDstBits = NULL;
pDlg->m_pSrcGrayBits = NULL;
pDlg->m_pDstGrayBits = NULL;
}
------=_NextPart_000_0008_01C69ED8.3B18E690
Content-Type: text/html;
charset="ks_c_5601-1987"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; =
charset=ks_c_5601-1987">
<META content="MSHTML 6.00.2900.2912" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT size=2>=BE=B2=B7=B9=B5=E5 =C5=AC=B7=A1=BD=BA=B8=A6 =
=B8=B8=B5=E9=B0=ED Run() =BA=CE=BA=D0=BF=A1 =BE=C6=B7=A1=BF=CD =
=B0=B0=C0=CC =B0=A1=BB=F3 =B8=DE=B8=F0=B8=AE=B8=A6 =
=C0=E2=BE=D2=BD=C0=B4=CF=B4=D9.</FONT></DIV>
<DIV><FONT size=2>=B1=D7=B7=B1=B5=A5, =C0=CC=B7=B1 =
=BE=B2=B7=B9=B5=E5=B0=A1 7=B0=B3 =C1=A4=B5=B5 =C0=D6=B1=B8=BF=E4. =
=B0=E8=BC=D3=C0=FB=C0=B8=B7=CE =B7=E7=C7=C1=B8=A6 =B5=B9=B0=D4 =
=B5=C7=BE=EE =C0=D6=BD=C0=B4=CF=B4=D9.</FONT></DIV>
<DIV><FONT size=2>=B6=C7 =C0=CC=B7=B1 =BE=B2=B7=B9=B5=E5=B8=A6 =
=B0=FC=B8=AE=C7=CF=B4 =B8=C5=B4=CF=C0=FA =BE=B2=B7=B9=B5=E5=B0=A1 =
=C0=D6=BD=C0=B4=CF=B4=D9.</FONT></DIV>
<DIV><FONT size=2>=B8=C5=B4=CF=C0=FA =BE=B2=B7=B9=B5=E5=B0=A1 =
7=B0=B3=C0=C7 =BE=B2=B7=B9=B5=E5=B8=A6 =BB=FD=BC=BA=C7=CF=B0=ED, =
=C0=CF=C0=BB =BD=C3=C5=B0=B0=D4 =C7=D5=B4=CF=B4=D9.</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>=C7=C1=B7=CE=B1=D7=B7=A5=C0=BB =
=BD=C7=C7=E0=BD=C3=C5=B0=B8=E9, =B8=DE=B8=F0=B8=AE=B0=A1 =
=C7=D8=C1=A6=B5=C7=C1=F6 =BE=CA=B0=ED, =C0=DA=B2=D9 =
=C1=F5=B0=A1=B5=C7=B4 =B0=D4 =
=C0=DB=BE=F7=B0=FC=B8=AE=C0=DA=BF=A1=BC=AD =
=BA=B8=C0=D4=B4=CF=B4=D9.</FONT></DIV>
<DIV><FONT size=2>=B4=EB=C3=BC =C1=A6=B0=A1 =B9=BB =C0=DF=B8=F8=C7=D1 =
=B0=C9=B1=EE=BF=E4...</FONT></DIV>
<DIV><FONT size=2>1.5G=C0=C7 =B8=DE=B8=F0=B8=AE=B8=A6 =C0=E2=BE=C6 =
=B8=D4=BE=EE=BF=E4... =BE=C6=B8=B6 =B0=E8=BC=D3=C0=FB=C0=B8=B7=CE =
=C1=F5=B0=A1=C7=CF=B4=D9 =C7=C8~ =C1=D7=B0=DA=C1=D2...</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>VirtualAlloc(NULL, ImageSize1, MEM_RESERVE,
PAGE_READWRITE);<BR>=C0=B8=B7=CE =BF=B9=BE=E0=C7=CF=B0=ED, </FONT></DIV>
<DIV><FONT size=2>VirtualAlloc(pDlg->m_pSrcBits, ImageSize1, =
MEM_COMMIT,
PAGE_READWRITE);</FONT></DIV>
<DIV><FONT size=2>=C4=BF=B9=D4=C7=CF=B0=ED, </FONT></DIV>
<DIV><FONT size=2>VirtualFree(pDlg->m_pSrcBits, 0, MEM_RELEASE); // =
=B0=A1=BB=F3 =B8=DE=B8=F0=B8=AE
=C7=D8=C1=A6</FONT></DIV>
<DIV><FONT size=2>=C7=D8=C1=A6=C7=DF=B0=C5=B5=E7=BF=E4.</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>=B4=EB=B7=AB =C0=CC=B9=CC=C1=F6 =C5=A9=B1=E2=B0=A1 =
=B0=A1=BA=AF=C0=FB=C0=CC=B6=F3. =BA=D2=C7=D5=B8=AE=C7=CF=C1=F6=B8=B8, =
=B8=DE=B8=F0=B8=AE=B8=A6 =C7=D2=B4=E7=C7=CF=B0=ED =
=C7=D8=C1=A6=C7=CF=B4 =B0=C9 =
=B9=DD=BA=B9=C7=D5=B4=CF=B4=D9.</FONT></DIV>
<DIV><FONT size=2>VirtualFree=B4 TRUE=B7=CE =
=B3=D1=BE=EE=BF=C0=B0=C5=B5=E7=BF=E4...</FONT></DIV>
<DIV><FONT size=2>=C1=BB =BE=CB=B7=C1=C1=D6=BC=BC=BF=E4... =
</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>-------------------------------------</FONT></DIV>
<DIV><FONT size=2> pDlg->m_pSrcBits = =
(BYTE
*)VirtualAlloc(NULL, ImageSize1, MEM_RESERVE,
PAGE_READWRITE);<BR> pDlg->m_pDstBits = =
(BYTE
*)VirtualAlloc(NULL, ImageSize2, MEM_RESERVE,
PAGE_READWRITE);<BR> pDlg->m_pSrcGrayBits = =
(BYTE
*)VirtualAlloc(NULL, ImageSize1, MEM_RESERVE,
PAGE_READWRITE);<BR> pDlg->m_pDstGrayBits = =
(BYTE
*)VirtualAlloc(NULL, ImageSize2, MEM_RESERVE, =
PAGE_READWRITE);</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2> if(pDlg->m_pSrcBits == NULL =
||
pDlg->m_pSrcBits ==
NULL){<BR> OrgBitmap.DeleteObject();<BR> &nbs=
p; DstBitmap.DeleteObject();<BR> <BR>&n=
bsp; pDlg->GetBitmapFile();<BR> &nbs=
p;//pDlg->Invalidate(FALSE);</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT
size=2> Sleep(1); continue;<BR> =
}<BR> if(!pDlg->m_pSrcGrayBits
|| !pDlg->m_pDstGrayBits) continue;</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2>#ifdef =
_DEBUG<BR> MEMORY_BASIC_INFORMATION
meminfo1, =
meminfo2;<BR> VirtualQuery(pDlg->m_pSrcBits,
&meminfo1,
sizeof(meminfo1));<BR> VirtualQuery(pDlg->m_pDstBits,=
&meminfo2,
sizeof(meminfo2));<BR> <BR> TRACE("SRCB=
ITS: %d
(bytes), %d(pages)\r\n", (UINT)meminfo1.RegionSize, =
(UINT)meminfo1.RegionSize /
4096);<BR> TRACE("DSTBITS: %d (bytes), %d(pages)\r\n",
(UINT)meminfo2.RegionSize, (UINT)meminfo2.RegionSize /
4096);<BR>#endif<BR> <BR> VirtualAlloc(=
pDlg->m_pSrcBits,
ImageSize1, MEM_COMMIT,
PAGE_READWRITE);<BR> VirtualAlloc(pDlg->m_pDstBits,
ImageSize2, MEM_COMMIT, PAGE_READWRITE);</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT =
size=2> VirtualAlloc(pDlg->m_pSrcGrayBits,
ImageSize1, MEM_COMMIT,
PAGE_READWRITE);<BR> VirtualAlloc(pDlg->m_pDstGrayBit=
s,
ImageSize2, MEM_COMMIT, PAGE_READWRITE);</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT =
size=2> if(OrgBitmap.GetBitmapBits(ImageSize1,
pDlg->m_pSrcBits) &&
\<BR> DstBitmap.GetBitmapBits(Im=
ageSize2,
pDlg->m_pDstBits)){<BR> <BR> &=
nbsp;<BR> OrgBitmap.GetBitmapBits(ImageSize1,
pDlg->m_pSrcGrayBits);<BR> DstBitmap.GetBitmapB=
its(ImageSize2,
pDlg->m_pDstGrayBits);</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2> </FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT
size=2> try{<BR> pD=
lg->m_Analzer.SetImage(pDlg->m_pSrcBits,
bm1.bmWidth, bm1.bmHeight, 0,
\<BR> pD=
lg->m_pDstBits,
bm2.bmWidth, bm2.bmHeight, 0);</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT
size=2> pDlg->m_Analzer.SetGrayImage(pD=
lg->m_pSrcGrayBits,
bm1.bmWidth, bm1.bmHeight, 0,
\<BR> &n=
bsp; pDlg->m_pDstGrayBits,
bm2.bmWidth, bm2.bmHeight, 0);</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT
size=2> pDlg->m_Analzer.AnalFrame(GRAYS=
CALE_MODE,
&accuracy);<BR> }<BR> c=
atch(CAnalyzerException
*pEx){<BR> TRACE("DEFECT IMAGE: %s \rn",
pEx->m_szErrMessage);<BR> <BR>  =
; ST_DEFECT
st;<BR> st.code =
pEx->m_iErrCode;<BR> st.similarity&=
nbsp;= accuracy;<BR> strcpy(st.desc,&=
nbsp; pEx->m_szErrMessage);<BR> strc=
py(st.imagepath,
pDlg->m_ImgFile2);<BR> strcpy(st.orgpath,=
pDlg->m_ImgFile1);<BR> st.orgwidth &=
nbsp; =
bm1.bmWidth;</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT
size=2> pEvt->SendMessage(WM_MAIN_DEFEC=
T_MESSAGE,
(WPARAM)&st, 0);<BR> </FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT
size=2> pEx->Delete();<BR> &=
nbsp; }</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT
size=2> //pDlg->m_Analzer.AnalFrame(COLOR_MOD=
E,
&accuracy);<BR> <BR> //pDlg-&=
gt;AnalFrame(NULL);<BR> //temp.Format("%d",
pDlg->m_Pool->GetCount());<BR> //((CStatic
*)pDlg->GetDlgItem(IDC_DTCOUNT2))->SetWindowText(temp);<BR> &n=
bsp; <BR> temp.Format("%.05f",
accuracy);<BR> ((CStatic
*)pDlg->GetDlgItem(IDC_STSIMILAR))->SetWindowText(temp);</FONT></DI=
V>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT
size=2> pDlg->Invalidate(FALSE);<BR> &nb=
sp; }<BR> <BR> VirtualFree(pDlg-&g=
t;m_pSrcBits,
0, MEM_RELEASE); // =B0=A1=BB=F3 =B8=DE=B8=F0=B8=AE
=C7=D8=C1=A6<BR> VirtualFree(pDlg->m_pDstBits, 0, =
MEM_RELEASE); // =B0=A1=BB=F3
=B8=DE=B8=F0=B8=AE =C7=D8=C1=A6</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT =
size=2> VirtualFree(pDlg->m_pSrcGrayBits, 0,
MEM_RELEASE); // =B0=A1=BB=F3 =B8=DE=B8=F0=B8=AE
=C7=D8=C1=A6<BR> VirtualFree(pDlg->m_pDstGrayBits, =
0, MEM_RELEASE); //
=B0=A1=BB=F3 =B8=DE=B8=F0=B8=AE =C7=D8=C1=A6</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2> pDlg->m_pSrcBits = =
NULL;<BR> pDlg->m_pDstBits =
NULL;<BR> pDlg->m_pSrcGrayBits =
NULL;<BR> pDlg->m_pDstGrayBits = =
NULL;</FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2> }<BR></FONT></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><FONT size=2></FONT> </DIV></BODY></HTML>
------=_NextPart_000_0008_01C69ED8.3B18E690--