블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2797)
Unity3D (853)
Programming (479)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (61)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday

해상도가 낮은 이미지 파일의 경우 확대를 해야 할 경우 심한 노이즈가 발생하거나 화질의 저하가 심각하게 발생하게 됩니다. 최근에는 스마트폰이나 PC 모니터의 해상도가 최소 FHD 에서 최대 4k의 해상도를 사용하는 추세이기 때문에 저해상도의 이미지를 배경으로 사용할 경우 도저히 사용할 수 없을 정도로 뭉개짐이 발생하게 되는 것 입니다. 특히 이미지를 인쇄를 해야 할 경우에는 저해상도 이미지에서의 화질 저하가 심하게 발생하기도 합니다. 마음에 드는 사진을 발견했음에도 해상도가 너무 낮아서 사용하기 어려울 때는 이미지 해상도를 확대시키는 작업을 해주는 것이 좋습니다. 일부 프로그램의 경우 해상도를 억지로 늘리다보니 오히려 화질이 크게 저하되는 경우도 발생하는데요. 딥러닝 기술을 통하여 화질과 해상도를 동시에 개선하는 이미지 해상도 높이기 방법에 대해 알아보겠습니다.


함께 읽으면 좋은 정보





이미지 해상도 높이기 – Waifu2x

이미지 해상도 높이기 작업은 전용 프로그램을 사용하는 것도 좋지만 waifu2x라는 웹사이트를 사용하는 것이 가장 좋습니다. 온라인상에서 이뤄지는 작업이다 보니 사용이 매우 편리한데다가 딥러닝 기술이 적용되어 해상도를 향상시키면서도 오히려 화질을 개선하는 기능이 적용되어 이습니다. 물론 인터넷만 된다면 누구나 100% 무료로 사용할 수 있습니다.

[바로가기] waifu2x 홈페이지





이미지 해상도 높이기 작업 방법

  • 앞에서 첨부한 waifu2x 홈페이지 링크를 클릭하여 해당 웹페이지에 접속합니다.
  • 기본 인터페이스가 영어로 설정되어 있으나 크롬 브라우저의 번역 기능을 이용하시면 한글로 사용하실 수도 있습니다.

 

  • Style : 업로드한 이미지에 따라 그림 (Artwork) 와 사진(Photo) 중 1개를 선택합니다.
  • 노이즈 감소 (Noise Reduction) 기능은 highest로 설정하시면 됩니다.
  • 노이즈 감소 기능의 경우 jpeg 이미지에서 사용하는 것을 추천합니다.
  • 업스케일링(Upscaling)은 해상도 확대를 의미하며 기본 2배로 설정되어 있습니다.
  • 게이지를 우측으로 옮길 수록 더 크게 확대할 수 있으며 최대 10배까지 가능합니다.
  • Compression은 이미지 용량을 압축하는 것으로 기본 0으로 설정되어 있으며 필요에 따라서 설정하시면 됩니다.

 

  • 기본 설정을 모두 마치셨다면 이제 이미지를 업로드 하셔야 합니다.
  • 화면을 밑으로 내리신 후 아래와 같이 파일 업로드 버튼을 클릭하여 이미지 해상도 높이기 작업이 필요한 파일을 불러오기 합니다.
  • 사진 1개당 최대 10mb이하로 사용할 수 있으며, 노이즈 감소와 해상도 확대의 경우 최대 2560×2560 이하의 이미지만 사용할 수 있습니다.

 

  • 제가 이미지 해상도 높이기 작업에 사용한 사진은 아래와 같으며 기본 640×426의 저해상도를 가진 이미지 파일입니다.
  • 아래의 이미지를 2배만큼 해상도를 확대하겠습니다.

 

 

  • 저는 waifu2x를 사용하여 이미지를 2배로 확대하여 1280×853의 해상도로 확대하였습니다.
  • 동시에 노이즈 감소 기능을 최대 (Highest)로 설정하였으며 작업 전후의 이미지 화질을 300%로 확대하여 비교해보았습니다.
  • 첫번째 사진은 640×426의 기본 저해상도 파일이며 300%로 확대를 하자 심한 화질 저하가 발생하는 것을 알 수 있습니다.
  • 두번째 사진은 2배 해상도인 1280×853의 이미지이며 300%로 확대를 했음에도 오히려 화질이 개선되는 것을 알 수 있습니다.






wiafu2x 사용 시 주의사항

waifu2x는 딥러닝 기술을 적용하여 저해상도의 이미지를 높은 해상도로 변환함과 동시에 화질의 개선까지 가능한 웹사이트입니다. 온라인에서 이뤄지는 작업이므로 반드시 인터넷에 연결이 되어 있어야 합니다.

  • 여러개의 이미지를 동시에 사용할 경우 작업 시간이 조금 더 소요될 수 있습니다.
  • 노이즈가 없는 이미지에 노이즈 감소 기능을 적용할 경우 오히려 뭉개짐 현상이 발생할 수 있습니다.
  • 노이즈 감소 기능의 경우 jpeg 확장자에 사용하는 것이 추천됩니다.
  • 웹사이트라는 특성상 간혹 접속이 불가능할 때가 있으며, 이럴 경우에는 나중에 다시 접속하는 것을 추천합니다.

 

 

[출처]

https://ittalk.co.kr/%EC%9D%B4%EB%AF%B8%EC%A7%80-%ED%95%B4%EC%83%81%EB%8F%84-%EB%86%92%EC%9D%B4%EA%B8%B0-%EC%B5%9C%EB%8C%80-10%EB%B0%B0%EB%A1%9C-%ED%99%94%EC%A7%88%EA%B9%8C%EC%A7%80-%EB%86%92%EC%9D%B4%EB%8A%94-%EB%B2%95/

 

이미지 해상도 높이기, 최대 10배로 화질까지 높이는 법 - IT Talk

해상도가 낮은 이미지 파일의 경우 확대를 할 때 심한 노이즈가 화질 저하가 발생하게 됩니다. 이럴 경우에는 업스케일링 기능을 이용하는 것이 좋은데요. 최대 10배로 해상도를 늘리면서 화질��

ittalk.co.kr

 

반응형
Posted by blueasa
, |

NGUI로 여러 해상도 대응 꽉 채우기

(참조 : http://hanamoni.tistory.com)



 1280x720 해상도 기준


[순서]

1) NGUI-UIRoot.cs 열기.


2) Inspector Window 에서 설정.

    Scaling Style - Constrained On Mobiles

    Content Width - 1280 Fit  (Check)

    Content Height - 720 Fit  (Check)


3) UIRoot-Update() 함수에서 아래를 교체

   [원본]

    mTrans.localScale = new Vector3(size, size, size);


   [변경]

    float fX = (NGUITools.screenSize.x / 1280f);

    float fTemp = (720f * fX);

    float fY = NGUITools.screenSize.y / fTemp;

    mTrans.localScale = new Vector3(size, size * fY, size);





[참조 링크의 내용]


NGUI 새로운 버젼.. 


해상도가 안맞아서 해상도에 맞게 늘릴려고 만든. 코드.


UIRoot 에서


기준을 1280 X 720 할때.


Inspector Window 에서 설정.

Scaling Style - Constrained On Mobiles

Content Width - 1280 Fit  Check 

Content Height - 720 Fit  Check



UIRoot 스크립트 에서  변경.



void Update ()  에서.


mTrans.localScale = new Vector3(size, size, size);  < -  이코드를 




float x_value = (screen.x / 1280f);

float temp_value = (720f * x_value);

float y_value = screen.y / temp_value;


mTrans.localScale = new Vector3(size , size * y_value, size );


요렇게 변경하면


기준 1280 x 720 으로 잡고 모든해상도에 맞게 잘 늘어나거나 줄어든다.

반응형
Posted by blueasa
, |



참조 : http://www.tasharen.com/?page_id=197


동영상 링크 : http://www.youtube.com/watch?v=XAeRXckXMMw


반응형
Posted by blueasa
, |

1) NGUI의 Panel에 UIStretch 추가

    (조절이 필요한 곳에 모두 넣는다. 패널이 여러개면 여러 패널에 모두 순서대로 진행)


2) Ui Camera에 NGUI 카메라 추가(Drag & Drop)


3) Style : Both(카메라에 맞춰서 스케일이 조절돼버림. 스케일 수정 안됨)


4) 스케일이 직접 조절이 안되므로 Relative Size를 조절함


5) Relative Size 조절(결과적으로 패널의 스케일 값이 1이 나오게 Relative Size 값을 넣는다.)

   X = 패널의 1 / Scale.X

   Y = 패널의 1 / Scale.Y


[문제점]

- 해상도에 맞게 늘어나긴 하지만 UI 크기가 늘어나거나 줄어드는 문제가 있음.


[참조 글]

뀨니 2012.12.28 09:23:58 댓글달기
저도 같은문제로 게시판 뒤지다가 어떤분것 보고 도움을 받았는데요 NGUI쓰신다면 NGUI에 있는 스크립트를 사용하시면 됩니다.UIStretch스크립트를사용해서 해상도에따라 셋팅값에 따라 해상도에 맞춰 비율적으로 강제적으로 늘릴 수 있습니다. 예를 들자면UIStretch를 패널에 추가하시고, UI Camera에 NGUI카메라를 넣으시고, Style을 Both로 맞추시면 카메라에 맞춰 늘어나게 되는데요, 여기서 크기를 Relative Size로 셋팅해주시면 됩니다. 
저같은 경우는 엄청나게 커져버려서 X = 0.00085 Y = 0.00125 뭐이런식으로 맞췄 습니다.


참조글 링크 : http://devkorea.co.kr/bbs/board.php?bo_table=m03_qna&wr_id=23789&page=0&sca=UNITY&sfl=wr_subject%7C%7Cwr_content&stx=UIStretch&spt=0&page=0&currentId=44#c_23991

반응형
Posted by blueasa
, |

유니티로 게임을 만들었는데
기기마다 해상도의 가로세로 비율이 다 제각각 이여서 개발자 입장에서는 각각의 해상도마다 수정작업을 하러면 좀 짜증이 난다.
뭔가 방법이 있을거 같아서 검색해봤더니 답이 있었다.


Screen.SetResolution 라는 메소드를 사용하면 대부분의 안드로이드 단말기의 해상도에 맞춰 게임화면을 변경할 수 있다.

Screen.SetResolution( 원하는 해상도 width값, 원하는 해상도 height값, 풀스크린 여부 );


나의 경우는 아이폰 해상도 비율인 2:3에 맞춰서 작업을 해두었기 때문에 
안드로이드에서도 2:3 비율로 작업한 이미지들이 짤리지 않게 하기 위해 게임이 실행하는 단말기의 스크린값을 아래와 같이 수정하였다.

Screen.SetResolution(Screen.width, (Screen.width/2)*3, true);  // 2:3 screen rate


겔럭시S 의 경우 해상도가 480 x 800 인데 위와 같이 입력해주면 의도했던 모든 UI가 짤림 없이 화면에 다 보여진다.
단점으로는 이미지가 단말기의 해상도 비율에 따라 UI가 길죽하게 보여지거나 넓직하게 보여지게 된다. 
( 16:9  비율의 디지털TV 에서 4:3 비율의 케이블 방송을 보는것과 같은 현상)


※ 주의 : SetResolution 메소드가 동작하지 않는 단말기도 있다고 한다.



출처 : http://clack.tistory.com/146


반응형
Posted by blueasa
, |