Microsoft MVP성태의 닷넷 이야기
OpenCV 이용 해상도 설정 질문 입니다.. [링크 복사], [링크+제목 복사]
조회: 8966
글쓴 사람
kskku1811
홈페이지
첨부 파일
 

 안녕하세요. OpenCV 관련 질문이 있어 글 올립니다.
C#에서 OpenCV를 이용해서 사진을 저장하는 간단한 프로그램을 만들고 있습니다.
사용환경은 Windows 10 Tablet 입니다. Windows 10 Tablet에 설치되어 있는 기본 앱으로는 2560*1440의 해상도로 사진이 저장되는데
제가 만든 프로그램에서는 VideoCapture 또는 CvCapture를 이용해서 했을 경우 1280*720으로 저장이 됩니다.
CvCapture를 이용하는 경우 SetCaptureProperty(CaptureProperty.FrameWidth, 2560) 와 같은 코드를이용해서 설정을 해줘도 설정이 먹지 않고 있습니다.
* VedioCapture를 이용해서 FrameWidth, FrameHeight를 2560, 1440으로 설정했을 때는 카메라가 아예 켜지지 않았습니다.

 Windows 10 Tablet 기본 앱의 특징은 사진을 찍기 전에 화질은 2560*1440으로 보이지는 않습니다.
아마 1280*720 또는 1920*1080 으로 보이는 거 같은데.. 사진을 찍어서 파일이 저장될 때는 2560*1440의 고해상도로 나옵니다.

그래서 저도 CvCapture의 설정은 1280*720으로 설정하고 저장 시에는 capture.QueryFrame()으로 받아와서
IplImage 변수에 2560*1440으로 설정하여 저장을 합니다.
FileInfo를 보면 해상도는 2560*1440으로 나오나 화질은 1280*720으로 찍었을 때와 동일합니다..
StackOverFlow에서 찾아봐도 Camera의 모든 해상도를 사용하려면 thirdparty 프로그램을 쓰라고만 나옵니다.. 혹시 제가 간과하고 있는 부분이 있을까요?








[최초 등록일: ]
[최종 수정일: 4/8/2020]


비밀번호

댓글 작성자
 



2020-04-08 09시27분
제가 OpenCV 쪽은 그다지 깊게 파고 들지 못해서 아는 바가 거의 없습니다. 겨우 아는 정도라고 쓴 것이 다음의 글입니다.

C# - OpenCvSharp을 이용한 Webcam 영상 처리 + Direct2D
; https://www.sysnet.pe.kr/2/0/11405

혹시, 최소한의 프로젝트가 있다면 올려 주시겠어요? 저도 제가 가진 Surface Pro에서 한번 실행해 보겠습니다. 그리고, Windows 10 Tablet에 있다던 기본 앱의 이름이 뭔가요?
정성태
2020-04-08 09시46분
[...] 찍을때와 프리뷰 해상도가 다르다면 OpenCV에서는 캡쳐가 불가능할겁니다.
보통 그런 경우 DirectShow로 보면 캡쳐필터의 출력핀이 Video와 Capture로 되어 있습니다.(이름은 다를 수 있음)
평소에는 Video로 프리뷰를하고 사진을 찍을때만 Capture출력을 저장 하는거죠. 이런 경우는 DirectShow또는 MediaFoundation으로만 캡쳐가 가능할 겁니다.
[guest]
2020-04-09 09시18분
답변 감사합니다. ^^ 저도 DirectShow는 예전에 실습만 해보고,

C#에서 DirectShow를 이용한 미디어 재생
; https://www.sysnet.pe.kr/2/0/1632

Direct Show를 사용하는 다른 프로그램의 필터 그래프를 graphedt.exe에서 확인하는 방법
; https://www.sysnet.pe.kr/2/0/1652

점차로 해당 기술이 안 쓰여진다고 들었던 것 같아 더 이상 파고들지 않았는데, 현재는 아마 MediaFoundation 쪽을 밀고 있는 것으로 알고 있습니다. 맞나요? ^^ 괜찮으시면 업계 기술 근황("https://www.sysnet.pe.kr/3/0/5318") 좀 들려주셨으면 합니다.
정성태

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5932EK4/12/2024470다음 제네릭에서 널익셉션이 뜨는 이유를 알수있을까요? [1]
5931이대희4/2/2024814Windows 앱 SDK C# 템플릿의 용도가 무엇인지요? [1]
5930vict...2/22/20241702ef core, FromSqlRaw 맵핑 질문입니다. [4]
5929a2/17/20241797.Net 8 에서 디버거 변경 [1]
5928vict...2/5/20241949wpf에서 대량 데이터 보여주는 방법 추천 부탁드립니다. [1]
5926엄태영1/12/20241919잘못된 Task 사용으로 인한 데드락 관련 질문 입니다. [3]
5925Euni...12/22/20231860Visual Studio에서 nodejs 사용시 npm install -g @vue/cli 실행시 오류 [1]
5924Euni...12/21/20231928Visual Studio에서 nodejs 사용시 C:\Program Files\nodejs\\node.exe" "C:\Program Files\nodejs\\node_modules\npm\bin\npm-cli.js" prefix -g 를 찾지 못하는 설치 오류 [2]
5923정두호12/4/20232386MSSQL 데이터 전송과 공유폴더의 데이터 전송 차이점 [1]
5922Heeg...10/27/20234597C++의 double pointer를 C#에서 구현하는 방법이 잘 안됩니다. [3]
5921한예지 donator10/3/20234395마샬링 정의 및 목적이 궁금합니다. [5]
5920한예지 donator10/3/20233208C#과 WIN32 API 관계 질문드립니다. [4]
5919이건우9/27/20232902WinForm의 로딩속도 관련 질문입니다 [2]
5917한예지 donator9/14/20232987동기화 도구 질문 있습니다. [4]
5916한예지 donator9/3/20233147Thread.Sleep(500), await Task.Delay(500), Task.Delay(500) 차이점이 궁금합니다. [2]
5915한예지 donator8/30/20233069비동기 코드를 for 문 안에 작성한 경우 제어 변수가 올바르게 동작하지 않는 이유가 궁금합니다. [3]
5914한상욱8/11/20232906.net wpf에서 skiasharp 의 skelement 를 canvas로 사용 하고 있습니다. [1]
5913김태우8/10/20232986지역변수로 이해하는 메서드매개변수 게시글 댓글 [3]
5912guest4/25/20235158[참고 - 초보용] Sqlite 디비는 double이 없고 Real이 대신합니다 [3]
5911guest4/24/20233499Form1.cs와 외부 class.cs와 통신 (static async method포함) [4]파일 다운로드1
5910guest4/24/20233352Async 메서드와 try~catch [1]
5909guest4/22/20233740Visual Studio 구매 시(1인 개발자) [4]
5908guest4/22/20233605텅빈 원그리기 [5]
5907민성4/21/20233233안녕하세요 서버 백업 문제에 대해서 [2]
5906guest4/21/20233366Dispatcher 서비스 구현 질문 [1]
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...