ku-yaw chang [email protected] assistant professor, department of computer science and...
TRANSCRIPT
![Page 1: Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University](https://reader036.vdocuments.site/reader036/viewer/2022082817/56649dbe5503460f94ab150a/html5/thumbnails/1.jpg)
Ku-Yaw ChangKu-Yaw [email protected]@mail.dyu.edu.tw
Assistant Professor, Department of Assistant Professor, Department of Computer Science and Information EngineeringComputer Science and Information Engineering
Da-Yeh UniversityDa-Yeh University
![Page 2: Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University](https://reader036.vdocuments.site/reader036/viewer/2022082817/56649dbe5503460f94ab150a/html5/thumbnails/2.jpg)
222004/03/292004/03/29 FreeImageFreeImage
OutlineOutline
IntroductionIntroduction
Add to Your ProjectAdd to Your Project
Load a JPEG fileLoad a JPEG file
Image PreparationImage Preparation
![Page 3: Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University](https://reader036.vdocuments.site/reader036/viewer/2022082817/56649dbe5503460f94ab150a/html5/thumbnails/3.jpg)
332004/03/292004/03/29 FreeImageFreeImage
IntroductionIntroduction
FreeImageFreeImage an Open Source library project an Open Source library project support popular graphics image formatssupport popular graphics image formats
PNG, BMP, JPEG, TIFF and others PNG, BMP, JPEG, TIFF and others two versions are availabletwo versions are available
a binary distribution a binary distribution
a source distributiona source distribution
WebsiteWebsite http://freeimage.sourceforge.net/http://freeimage.sourceforge.net/
![Page 4: Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University](https://reader036.vdocuments.site/reader036/viewer/2022082817/56649dbe5503460f94ab150a/html5/thumbnails/4.jpg)
442004/03/292004/03/29 FreeImageFreeImage
IntroductionIntroduction
FeaturesFeatures Ease of use.Ease of use.
The library has been designed to be extremely The library has been designed to be extremely simple in use. simple in use.
Our motto is: make difficult things simple instead of Our motto is: make difficult things simple instead of simple things difficult.simple things difficult.
Supports many formatsSupports many formatsBMP, JPEG, TIFF, PNG BMP, JPEG, TIFF, PNG
Etc…Etc…
![Page 5: Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University](https://reader036.vdocuments.site/reader036/viewer/2022082817/56649dbe5503460f94ab150a/html5/thumbnails/5.jpg)
552004/03/292004/03/29 FreeImageFreeImage
IntroductionIntroduction
Latest versionLatest version May 7th 2005 : FreeImage 3.7.0 releasedMay 7th 2005 : FreeImage 3.7.0 released
![Page 6: Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University](https://reader036.vdocuments.site/reader036/viewer/2022082817/56649dbe5503460f94ab150a/html5/thumbnails/6.jpg)
662004/03/292004/03/29 FreeImageFreeImage
Adding to Your ProjectAdding to Your Project
FreeImageFreeImage FreeImage.hFreeImage.h
Add to your projectAdd to your project FreeImage.libFreeImage.lib
Add to your projectAdd to your project FreeImage.dllFreeImage.dll
Under the same directory with your executable fileUnder the same directory with your executable file
Under the system directoryUnder the system directory C:\Windows\System32C:\Windows\System32
![Page 7: Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University](https://reader036.vdocuments.site/reader036/viewer/2022082817/56649dbe5503460f94ab150a/html5/thumbnails/7.jpg)
772004/03/292004/03/29 FreeImageFreeImage
Load a JPEG fileLoad a JPEG file
C***DocC***Doc #include “FreeImage.h”#include “FreeImage.h” OverrideOverride
BOOL C***Doc::OnOpenDocumentBOOL C***Doc::OnOpenDocument(LPCTSTR lpszPathName)(LPCTSTR lpszPathName)
![Page 8: Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University](https://reader036.vdocuments.site/reader036/viewer/2022082817/56649dbe5503460f94ab150a/html5/thumbnails/8.jpg)
882004/03/292004/03/29 FreeImageFreeImage
Load a JPEG fileLoad a JPEG file
Load and UnLoadLoad and UnLoad FIBITMAP * dib = FIBITMAP * dib =
FreeImage_Load(FIF_JPEG, lpszPathName, FreeImage_Load(FIF_JPEG, lpszPathName, JPEG_ACCURATE);JPEG_ACCURATE);
FreeImage_Unload(dib);FreeImage_Unload(dib);
![Page 9: Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University](https://reader036.vdocuments.site/reader036/viewer/2022082817/56649dbe5503460f94ab150a/html5/thumbnails/9.jpg)
992004/03/292004/03/29 FreeImageFreeImage
Load a JPEG fileLoad a JPEG file
Get Image InformationGet Image Information WidthWidth
FreeImage_GetWidth(dib);FreeImage_GetWidth(dib); HeightHeight
FreeImage_GetHeight(dib);FreeImage_GetHeight(dib); Size of one pixel in bitsSize of one pixel in bits
FreeImage_GetBPP(dib);FreeImage_GetBPP(dib);
![Page 10: Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University](https://reader036.vdocuments.site/reader036/viewer/2022082817/56649dbe5503460f94ab150a/html5/thumbnails/10.jpg)
10102004/03/292004/03/29 FreeImageFreeImage
Load a JPEG fileLoad a JPEG file
Access pixelsAccess pixels unsigned char * pScanLine = unsigned char * pScanLine =
FreeImage_GetScanLine(dib, nLine);FreeImage_GetScanLine(dib, nLine);
![Page 11: Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University](https://reader036.vdocuments.site/reader036/viewer/2022082817/56649dbe5503460f94ab150a/html5/thumbnails/11.jpg)
11112004/03/292004/03/29 FreeImageFreeImage
Load a JPEG fileLoad a JPEG file
for (int iLoop=0; iLoop<m_nHeight; iLoop++)for (int iLoop=0; iLoop<m_nHeight; iLoop++) {{
unsigned char * pScanLine = FreeImage_GetScanLine(dib, unsigned char * pScanLine = FreeImage_GetScanLine(dib,
(m_nHeight-1) - iLoop);(m_nHeight-1) - iLoop);
for (int jLoop=0; jLoop<m_nWidth; jLoop++)for (int jLoop=0; jLoop<m_nWidth; jLoop++) {{
*(m_pBImage+iLoop*m_nWidth+jLoop) = *(pScanLine+jLoop*3);*(m_pBImage+iLoop*m_nWidth+jLoop) = *(pScanLine+jLoop*3);
*(m_pGImage+iLoop*m_nWidth+jLoop) = *(pScanLine+jLoop*3+1);*(m_pGImage+iLoop*m_nWidth+jLoop) = *(pScanLine+jLoop*3+1);
*(m_pRImage+iLoop*m_nWidth+jLoop) = *(pScanLine+jLoop*3+2);*(m_pRImage+iLoop*m_nWidth+jLoop) = *(pScanLine+jLoop*3+2);
}}
}}
![Page 12: Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University](https://reader036.vdocuments.site/reader036/viewer/2022082817/56649dbe5503460f94ab150a/html5/thumbnails/12.jpg)
12122004/03/292004/03/29 FreeImageFreeImage
PreparationPreparation
ImageImage Format: JPGFormat: JPG Size: 600*300Size: 600*300 Content: PlateContent: Plate