728x90

MIME 타입(Multipurpose Internet Mail Extensions Type)은 문서, 파일, 바이트 스트림의 포맷을 설명하는 표준화된 방식이다. 원래는 이메일에서 다양한 형태의 콘텐츠를 전송하기 위해 개발되었지만, 이후 웹에서 파일 형식을 식별하는 데 널리 사용되기 시작했다. MIME 타입은 타입/서브타입 형태로 구성되며, 때때로 추가 매개변수를 포함할 수 있다.

 

MIME 타입의 예

  • 텍스트 파일: text/plain, text/html, text/css, text/javascript
  • 이미지 파일: image/jpeg, image/png, image/gif
  • 오디오 파일: audio/mpeg, audio/ogg
  • 비디오 파일: video/mp4, video/ogg
  • 응용 프로그램 특정 파일: application/json, application/xml, application/pdf, application/zip

웹 서버는 정적 파일을 클라이언트(브라우저)에 전송할 때, HTTP 헤더의 일부로 적절한 MIME 타입을 포함시킨다. 이를 통해 브라우저는 받은 콘텐츠를 어떻게 처리할지 결정할 수 있다. 예를 들어, text/html은 HTML 문서로, image/png는 PNG 이미지로 처리한다.

 

웹 브라우저는 MIME 타입을 이용하여 다운로드할 파일을 어떻게 표시하거나 처리할지 결정한다. 예를 들어, 일부 MIME 타입은 브라우저 내에서 직접 표시할 수 있으며(예: 텍스트, 이미지), 다른 타입은 추가 소프트웨어나 플러그인이 필요할 수 있다.

 

또한, MIME 타입은 이메일의 본문과 첨부 파일에 대한 정보를 제공한다. 이를 통해 이메일 클라이언트는 텍스트, HTML, 이미지 등 다양한 포맷의 콘텐츠를 적절하게 표시할 수 있다.

 

JPG(JPEG), PNG, 그리고 GIF는 디지털 이미지를 저장하기 위해 널리 사용되는 이미지 파일 포맷이다. 각 포맷은 특정 용도와 환경에 맞게 최적화되어 있으며, 이미지의 품질, 파일 크기, 지원 기능 등에서 차이를 보인다.

 

JPG(JPEG(Joint Photographic Experts Group))손실 압축 방식을 사용하여 파일 크기를 줄인다. 이 때문에 원본 이미지에서 일부 데이터를 잃게 되지만, 인간의 눈으로 구별하기 어려운 수준으로 조정할 수 있다.  고품질의 사진이나 그림과 같은 복잡한 이미지에 적합하다. 압축률을 조정할 수 있어, 사용자는 이미지의 품질과 파일 크기 사이의 균형을 선택할 수 있다.

 

PNG(Portable Network Graphics)손실 없는 압축을 제공하여, 이미지의 모든 디테일을 보존한다. 투명도(알파 채널)를 지원하여, 이미지의 일부분을 투명하게 할 수 있다. 이는 웹 디자인에서 로고나 아이콘 등을 배치할 때 유용하다. GIF에 비해 더 많은 색상(24비트 색상)을 지원한다.

 

GIF(Graphics Interchange Format)256색만 지원하는 제한된 색상 팔레트를 가지고 있어, 단순한 그래픽이나 애니메이션에 적합하다. 애니메이션 기능을 지원한다. 여러 이미지(프레임)를 한 파일에 저장하여 움직이는 이미지를 만들 수 있다. 손실 없는 압축을 사용하지만, 색상의 제한으로 인해 복잡한 이미지에는 적합하지 않다.

 

JPG를 PNG 형식으로, JPG를 PNG 형식으로 등 확장자를 변환해주는 사이트도 있다.

 

https://www.ilovepdf.com/ko/jpg_to_pdf

 

JPG에서 PDF로 변환하세요. 온라인에서 이미지 JPG를 PDF로

JPG 이미지를 PDF로 변환하고, 회전하거나 페이지 간격을 설정하세요. 라인에서 쉽고 무료로 JPG에서 PDF로 변환하세요.

www.ilovepdf.com

728x90

'영상처리' 카테고리의 다른 글

AOI 고해상도 검출력 결함 관리  (0) 2024.03.22
Visual Studio 2022 opencv for C/C++ 세팅  (1) 2024.03.22
728x90

30000장 이상의 결함이 나온 패널의 사진들을 관리는 많이 힘든 작업이다. 결함이 있나 없나 판별하기도 힘들뿐더러 있다 치더라도 수많은 결함 종류 중에 어떤 결함인지 판별하기 어렵기 때문이다.

그레이스케일을 3단계로 분류한 사진이면 사진을 3분할해서 보게끔 설정한 뒤 관리하는 게 편하다. 드래그 앤 드롭은 어떤 키와 함께해도 먹히지 않는다. 그렇다고 엑셀파일에서 삽입을 일일이 해주기엔 너무 시간이 걸린다. 사진을 더블클릭하고 ctrl+c, ctrl+v로 하는 게 제일 편하고 빠르다.

좌표를 검색할 때, 1,24이면 001_024로 검색해준다.

요청자가 시키지 않았어도 미검 부분은 별도의 표시를 해주는 게 좋다. 나는 check로 표시를 해뒀다. 이러면 재검할 때도 훨씬 편하고 요청자가 받았을 때 분석하기도 많이 편해져서 좋다.

미검인데 결함이 나왔다던가 결함인지 아닌지 판별하기 어렵다던가 다른 변수가 있을법한 것들에게도 별도의 표시를 해주면 매우 좋다.

728x90

'영상처리' 카테고리의 다른 글

MIME type, JPG, PNG, GIF  (0) 2024.03.23
Visual Studio 2022 opencv for C/C++ 세팅  (1) 2024.03.22
728x90

opencv를 쓰기 위해서 엄청난 세팅이 필요하다. 최신에 업데이트됐다고 해도 애초에 오래된 코드를 수정, 수정해서 업데이트 된 거기 때문에 근본은 오래된 라이브러리이다. 고로 최신의 visual studio, window와 맞추려면 많은 세팅이 필요하다.

세팅 방법

1.opencv 링크 타고 자신의 컴퓨터에 맞게 설치 (아래 링크 접속이 안되면 따로 검색해서 접속)

https://opencv.org/releases/

 

Releases

OpenCV is the world’s biggest computer vision library. It’s open source, contains over 2500 algorithms and is operated by the non-profit Open Source Vision Foundation. Support OpenCV

opencv.org

 

2. 다운로드 폴더에 들어가 open cv를 실행시켜 원하는 위치에 설치

3. 설치된 곳에 들어가서 opencv/build/x64/vc16(버전에 따라 15,14)/bin에 접속 후 경로를 복사해 준다.

4. window 키를 누른 뒤 고급 시스템 설정에 들어간다. 아래 사진과 운영체제가 달라도 뜬다.

5. 환경 변수

 

6. 시스템 변수(S)에서 Path를 찾아준다.

7. 새로 만들기 > ctrl+v > 위로 이동 마구마구 클릭해서 아까 복사한 경로를 맨 위로 올려준다. 그리고 확인 확인을 눌러 나와준다.

 

9. 그리고 새 프로젝트 만들기, c++ 검색, 빈 프로젝트 더블 클릭, 경로설정하고 만들기를 누른다.

10. 소스 파일 > 추가 > 새 항목 누르고 이름 설정 후. cpp로 추

11. 예제 테스팅 코드 입력

#include <opencv2/opencv.hpp>

using namespace cv;

int main()

{

    int width = 500;

    int height = 500;


    Mat img(height, width, CV_8UC3, Scalar(0, 0, 0));


    circle(img, Point(250, 250), 10, Scalar(255, 0, 0), -1);

    circle(img, Point(250, 250), 100, Scalar(0, 0, 255), 1);


    imshow("result", img);

    waitKey(0);

}

12. 프로젝트 > 속성

13. 구성(C)는 Release에, 플랫폼(P)은 x64

14. 왼쪽에서 C/C++을 찾아 일반을 누르고 추가 포함 디렉터리 맨 오른쪽 버튼을 누른 뒤 <편집...> 클릭

15. 줄 추가(폴더? 같은 노란색 버튼)을 누르고 맨 위 줄을 한 번 클릭해 보면 맨 오른쪽에 ... 버튼이 생긴다. 그걸 누르고 opencv/build에 들어가 include를 한 번 클릭한 뒤에 폴더 선택 버튼 후 확인

16. 왼쪽 스크롤에서 링커 > 일반 > 추가 라이브러리 디렉터리 한 번 클릭 후 맨 오른쪽 버튼 > <편집...>버튼

17. 또 아까처럼 줄 추가 버튼 후 경로 선택 버튼 그리고 opencv/build/x64/vc16(버전에 따라 15,14)에 들어가고 lib를 한 번만 누른 다음에 폴더 선택 버튼을 누른 뒤 확인

18. 왼쪽 스크롤에서 링커의 입력에 들어간 뒤 추가 종속성에서 오른쪽 버튼 후 <편집...>

19. opencv/build/x64/vc16/lib에 들어가 opencv_world480.lib를 복사한다. 버전에 따라 opencv_world455.lib 등 숫자가 다를 수 있다. 그러면 그 숫자로 하면 된다. opencv_world480d.lib는 디버깅 모드를 위한 lib이다. 지금은 릴리스 모드를 위한 세팅이기 때문에 이렇게 해준다.

19. 그리고 17번 통해 들어간 추가 종속성에 opencv_world480.lib를 붙여넣기하고 확인을 눌러준다. 그리고 또 확인을 눌러 설정 탭을 닫아준다.

20. Release 모드로 바꾼 뒤에 ctrl F5를 눌러 빌드 후 실행을 해본다. 그러면 opencv_world480.lib가 없다면서 에러가 뜨는데 재부팅하고 다시 실행해 준다.

21. 완료

728x90

'영상처리' 카테고리의 다른 글

MIME type, JPG, PNG, GIF  (0) 2024.03.23
AOI 고해상도 검출력 결함 관리  (0) 2024.03.22

+ Recent posts