알림
|
X
전체 173 / 6 페이지
775 조회
4 추천
04.23 22:44 등록
문가영 댓글 3
1785 조회
0 추천
04.23 02:20 등록
원글 : https://damoang.net/free/345706 조금 손 본 것을 자료실애도 올려봅니다.
802 조회
1 추천
04.23 01:01 등록
@에르메스 님께서 올려주신 아이슬란드 오로라 사진을 고화질로 요청하신 분이 있으셔서 업스케일링 해서 올립니다. 원글 : 아이슬랜드의 오로라..jpg > 자유게시판 | 다모앙 | DAMOANG
804 조회
14 추천
04.22 17:05 등록
​앙UI 최신 버전을 다운로드 하실 수 있습니다.이 글에는 절대 댓글을 달지 말아주세요.댓글이 달리면 제가 이 글을 수정할 수 없기 때문에새버전을 업데이트 할 수 없습니다.피드백 및 문의사항은 강좌 게시판의 글에 댓글로 작성해주시기 바랍니다.피드백 게시물 바로가기 <- 클릭​앙UI 업데이트 중단 안내앙UI는 v1.3.0 버전을 끝으로 지원을 중단합니다.앙UI에서 지원하던 대부분의 기능은 다모앙 본진에 적용이 되었습니다.앙UI에 새로운 기능을 추가하기 보다는다모앙 본진에 기능을 추가하는 것이 바람직한 것 같습니다.따라서, 앙UI에 대한 지원을 중단하고 필요한 것들은 다모앙 본진에 계속 적용하려고 합니다.이제는 자잘한 변경사항은 사용자 스스로 수정하여 사용하셔야 합니다.스스로 하시다가 도움이 혹시 필요하시면 피드백 게시판에 댓글로 문의를 주시거나쪽지 주시면 도움을 드리겠습니다.그동안 앙UI를 사용해주셔서 감사드립니다.꽤나 재미있는 시간이었습니다^^앙UI 마지막 버전 1.3.0확장 프로그램 3 버전대를 사용해주세요.2버전대에서 자동으로 3버전대로 업그레이드가 되고 있습니다.매번 2버전대로 내리는 것도 불편하여 최대한 3버전대에서 잘 돌아가게 했습니다.약간의 불편함이 생길수도 있으니 아직까지는 괜찮아 보입니다.1.3.0 버전은 새로운 기능이 추가된 것이 아니라 기존 기능이 다모앙 본진 소스 변경으로 인해정상 동작하지 않는 것을 잘 돌아가게 개선한 버전입니다.버전 히스토리v1.3.0앙UI 마지막 버전입니다.즐겨찾기 메뉴가 중복하여 보이는 것을 수정다운로드 링크가 정상적으로 보이지 않는 것 수정로그인 관련 변경사항 반영기타 자잘한 문제 수정v1.2.9홈, 즐겨찾기, 단축키 등록 시 메뉴 목록을 오름차순 정렬함메뉴 목록 노출 순서를 개선함메엔메뉴, 소모임, 그 외 메뉴 순서로 노출됨각 메뉴그룹 사이에 ====== 구분자 추가소모임 단축키 -> 단축키 설정으로 변경단축키를 소모임 뿐만 아니라 모든 메뉴 대상으로 설정 가능모바일에서 즐겨찾기 설정시 PC와 동일한 UI로 사용할 수 있도록 개선v1.2.8다모앙 소스가 변경되면 소모임, 즐겨찾기, 홈링크에 메뉴 목록이 나오지 않는 문제 발생이번 패치로 다모앙 소스가 변경되더라도 해당 목록이 정상적으로 나오도록 조치함메뉴 정보를 담고 있는 소스가 완전히 구조가 바뀌지 않는한소스 변경으로 인해 메뉴 목록이 안나오는 일은 없습니다.v1.2.7다모앙 본진 소스가 변경되어 소모임 단축키, 홈링크 등 메뉴 목록이 안나옵니다.패치하여 나오도록 수정하였습니다.이번 버전부터는 확장 프로그램 3버전 지원하지 않습니다.호환성이 너무 떨어져서 대응이 불가합니다.2.1.1 버전으로 내려와주세요. 3버전 삭제 후 2버전을 다운 받으신 후확장 프로그램 관리 여시고 그 화면에 2버전 설치 파일을 드래그래서 넣으시면 설치됩니다.v1.2.6프로필+레벨의 디자인을 변경했습니다. 별도의 설정 없이 passive로 적용됩니다.(예시화면 참고)ㄴ 참고로 PC 전용 기능입니다.댓글의 버튼 그룹에서 추천을 앞으로 뺐습니다.단, 버튼그룹을 헤더 영역으로 이동시키는 기능 사용하시는 경우 추천은 오른쪽에 배치됩니다.댓글 작성 후 댓글 영역이 원래 모습으로 돌아가는 현상을 고쳤습니다.단, 댓글 삭제의 경우 원래 모습으로 돌아갑니다. 이건 물리적으로 고칠 수가 없습니다.본진 쪽 소스를 고쳐야 하는데 앙UI 때문에 본진 소스를 고칠 수는 없어서 어쩔 수 없습니다.추천 컬러셋 지정할 경우 게시물에 새로 추가된 홍보 문구 색상이 잘 보이지 않는 증상 개선v1.2.5공지 전달 차원에서 알림 표시되라고 버전을 하나 올렸습니다.1.2.5 버전부터 확장 프로그램 버전별 앙UI 버전을 배포합니다.자신이 사용하는 확장 버전에 맞는 파일을 다운 받으셔서 적용하시기 바랍니다.v1.2.4즐겨찾기 설정시 소모임도 설정 가능하도록 수정소모임은 그동안 설정 불가했으나 이제 가능합니다.댓글 버튼 그룹이 중복 노출되는 문제 조치다모앙 소스 변경으로 버튼 그룹 위치 변경시 좌/우 양쪽에 추가되는 문제가 있었습니다.버그 수정하고 버튼을 그룹으로 묶어서 영역을 좀 더 적게 차지하고 미관상 조금 낫게 수정했습니다.내 맘대로 레벨업 기능 추가다모앙에 레벨 시스템이 도입되었습니다.99레벨까지 언제 갈지 막막합니다. 나 혼자 볼때라도 고랩으로 봅시다!1 ~ 99까지 원하는 레벨을 입력하고 저장하면 반영됩니다.프로필쪽 레벨 정보와 게시글 닉네임 앞쪽 레벨 아이콘이 변경됩니다.v1.2.3페이지 상단에 여백이 생기는 문제 조치함v1.2.2소모임 단축키 지정시 목록이 나오지 않는 문제 조치합니다.다모앙 본진 소스 변경에 따른 조치입니다.v1.2.1글 주인이 쓴 댓글, 내가 쓴 댓글 강조하기 기능 제거이 기능은 본진에 적용하였음으로 제거합니다.본진에는 댓글 내용이 아닌 헤더 영역의 색을 강조하였습니다.v1.2.0게시판 목록에 "내 글", "내 댓글" 버튼 추가이 기능은 본진에 적용하였음으로 제거합니다.게시판 목록에 내가 작성한 글 강조이 기능은 본진에 적용하였음으로 제거합니다.모바일에서 Footer 영역 화면에 맞게 보이는 기능이 기능은 본진에 적용하였음으로 제거합니다.v1.1.10소모임 단축키 지정시 목록이 나오지 않는 문제 조치합니다.다모앙 본진 소스 변경에 따른 조치입니다.추천수 컬러세트 지정 기능 복구했습니다.본진에서 제공하는 다모앙 UI커스텀을 사용하기길 권고드립니다.이 기능은 UI커스텀 자체를 쓰지 않으시고 앙UI만 쓰시는 분들을 위해 남겨둡니다.v1.1.9다모앙 상단 메뉴 패치로 인해 앙UI 버튼이 보이지 않습니다.다크모드/라이트모드 버튼을 기준으로 추가했었는데 그 버튼이 사라졌네요 ㅜㅜ이번엔 사라질 것 같지 않은 메뉴 버튼 바로 옆에 붙여서 앙UI 버튼을 붙였습니다.v1.1.8소모임 단축키 지정시 메뉴 목록 안나오는 문제 조치다모앙 패치 후 클래스명이 변경되어 목록을 못 가져오고 있었습니다.이번 버전 적용하시면 정상적으로 가져옵니다.v1.1.71. 댓글 복사 기능 삭제이 기능은 다모앙 기본 기능으로 제공됩니다.아직 반영은 안되었지만 반영되면 복사 버튼이 2개가 보이기 때문에 미리 삭제합니다.대장님 시간되실 때 반영 하실 듯 합니다. 천천히 기다려주세요.v1.1.61. 로그아웃시 앙UI 버튼 표시 안되는 문제 조치다모앙 비로그인시 노출되는 버튼 규칙에 변경이 발생되어 반영2. 로그아웃시 download URL 생성 못하도록 수정3. 게시판 목록에 내 댓글 버튼 추가기존 내 글 목록에 추가하는 기능에 내 댓글도 함께 적용되도록 수정4. 자동 재로그인 버그 픽스5. 메인 추천글 추천수 컬러세트 적용게시판 목록 추천수 컬러세트 설정하면 그 설정을 메인 추천수에도 동일하게 적용하도록 수정v1.1.5소모임 단축키 설정시 소모임 목록 못 가져오는 문제 조치다모앙 개발팀에서 업데이트 작업하면서 소모임 클래스명 변경이 발생하였습니다.변경된 클래스명을 사용하도록 앙UI도 소스 반영하였습니다.v1.1.4다모앙 다운로드 링크 생성 규칙 변경다모앙에서 파일 다운로드 링크 생성시 랜덤 토큰을 붙이도록 변경되었습니다.이 영향으로 다운로드 링크가 로그인 할 때마다 바뀝니다.토큰 에러 발생시 업데이트 확인 버튼을 클릭해서 최신버전으로 업데이트 하도록 안내 메시지를 보여주도록 수정했습니다.추 후 업데이트 확인 버튼 눌러야만 링크가 생성되게 변경할 예정입니다.일단 이번엔 임시로 안내 메시지만 표시합니다.v1.1.3댓글 복사 버튼 추가각 댓글마다 추천 버튼 옆에 복사 버튼이 추가되었습니다.해당 댓글의 복사 버튼을 클릭하시면 댓글 바로가기 링크가 클립보드에 복사됩니다.복사 후 해당 링크를 필요한 곳에 붙여넣고 클릭하면 해당 글의 댓글로 바로가기가 됩니다.수동 업데이트 확인 추가다모앙 트래픽 절감을 위해 업데이트 확인 주기를 하루 최대 2회로 제한을 했었습니다.그 때문에 업데이트가 필요할 때 자료실에 매번 가야하는 불편이 생겼습니다.그 불편을 줄이기 위해 업데이트 확인 버튼을 만들었습니다.업데이트 확인 버튼을 누르면 그 즉시 새버전을 확인하고 앙UI 설정 화면에 반영됩니다.새버전이 있을 경우 업데이트 된 링크를 클릭하여 다운로드하실 수 있습니다.v1.1.0~1.1.2다모앙 기본UI 덮어쓰기 기능 추가메뉴위치, 폰트 사이즈, 줄 높이, 화면너비, 메뉴너비 정보를 설정할 수 있습니다.이 기능을 활성화 하시면 다모앙 UI커스텀의 설정중 위 5가지 설정은 무시됩니다.앙UI 설정이 기존 설정을 덮어 쓰도록 처리 했으나 혹시나 있을 충돌에 대비하여둘 중 하나만 설정하여 쓰시길 추천드립니다(그냥 중복하여 설정하셔도 제가 테스트했을땐 문제가 없긴 했습니다)(다모앙 UI커스텀에서 위 5가지 항목만 값을 비워두시면 됩니다)아래는 설정화면 이미지입니다. 기능활성화 여부에 따라 5가지 기능이 통째로 활성/비활성 됩니다.Kiwi 브라우저로 모바일에서 사용하시는 경우 "폰트사이즈, 줄 높이"만 설정 가능합니다.v1.0.11다모앙 트래픽 부담을 덜기 위한 조치앙UI 새버전 체크 및 다운로드 링크 가져오기시 발생하는 트래픽을 99%이상 감소시킵니다.다모앙이 트래픽 증가로 힘들어하고 있기에 이에 동참하는 패치입니다.이 패치 이후 새버전 체크 및 다운로드 링크 가져오기는 하루 최대 2회만 시도합니다.내부적인 변화임으로 사용자는 평소처럼 사용하시면 됩니다.다모앙을 위해 앙UI 사용하시는 분은 반드시 패치 해주시길 바랍니다.v1.0.10프로필 영역에 내글/내 댓글 표시 기능 삭제- 다모앙에서 공식적으로 전체 글 대상으로 내글/내댓글 조회 기능을 넣어줌- 적용 버튼을 한번 눌러줘야 프로필에 추가된 것이 삭제됨글 조회시 목록 버튼에 조회중인 페이지로 이동하기 기능 삭제- 다모앙에서 공식적으로 같은 기능 제공함글 조회시 작성자의 글/댓글 목록 보기 최적화내글|내댓글 메뉴에 알림도 나오도록 수정- 다모앙에서 알림 정보도 제공하고 있음으로 반영함휴먼에러(새버전 알림 기능을 잠시 꺼둔걸 다시 살림)- 테스트하다가 새버전 알림 기능을 완전히 꺼버림 ㅡㅡ;- 1.0.9 버전 적용하신 분은 상위버전 꼭 적용하세요.v1.0.9구글 광고 삽입 안내메시지가 hidden 처리되지 않고 출력하는 경우 메시지 삭제- 광고는 그대로 출력되고 나오지 말아야 할 시스템 메시지만 삭제함자잘한 최적화 작업(벼그 패치 등)작업했던 기능들이 꽤 있는데 어느새 보니 다모앙 UI커스텀에 유사한 기능들이 있어서 배포하지 않았습니다. 앙UI의 목적은 다모앙이 자리를 잡아가기까지 보조적인 역할을 하다가 서서히 사라지는 것입니다. 또는..모두에겐 필요 없지만, 있으면 누군가에게 좋은 기능을 제공하는 수준으로 남겨질 수도 있겠네요..^^;v1.0.81. 앙UI 업데이트 알림 유무 설정 기능 추가- 업데이트 발생시 화면 좌하단에 다모앙 알림이 뜨는 것을 설정할 수 있게 했습니다.- 잦은 알림이 불편하신 분은 이 설정을 꺼주세요.- 이 설정과 상관없이 앙UI 설정 화면에는 업데이트 발생시 "새버전등장"은 표시됩니다.2. 모바일 사용시 상단메뉴 한줄에 보이게 수정- 모바일 사용시 낮은 해상도 폰의 경우 가로폭이 좁아서 두줄로 상단메뉴가 보이고 있었습니다.- 모바일 접속시 다모앙 alpha 로고의 alpha는 감추고 보이지 않게 설정했습니다.3. 앙UI 설정 버튼 변경- 앙UI 텍스트를 앙, UI가 번갈아가며 나오도록 수정하였습니다.- 2번 사항과 연관되어 모바일 환경에서 공간확보 차원에서 적용하였습니다.v1.071. 자동로그인 치명적인 휴먼에러가 있었습니다. 앞으로 좀 더 꼼꼼히 살피겠습니다. ㅜㅜ- 꼭 1.0.7 버전으로 업그레이드 하셔야 합니다.- 다음 버전에서는 찾은 업데이트 알람으로 불편하신 분들을 위해 알림을 끄는 기능을 넣도록 하겠습니다.v1.0.61. 자동 재로그인 설정앙UI 설정 화면에서 자동 재로그인 설정의 사용 유무 및 소셜 로그인 종류를 선택할 수 있습니다.어떤 이유에서든 세션이 끊길 경우 자동으로 재로그인을 시도합니다.로그아웃 버튼을 눌러도 세션이 끊겼다고 인지하고 재로그인을 시도합니다.이 옵션을 적용하면 로그아웃 상태를 유지할 없습니다. 동의하시는 분만 활성화 하세요.(안 쓰실 분은 설정에서 미사용을 선택하시면 됩니다<기본값:미사용>)해당 브라우저에서 선택한 소셜 계정으로 최초 1회는 로그인을 해야 자동 로그인이 됩니다.로그인 기록이 없을 경우 소셜 로그인 하는 페이지가 열리게 됩니다.휴먼 에러 발생할 수 있습니다. 무한 로그인 시도 등 오류 발생시 이전 버전으로 변경 후 피드백 게시판에 신고 부탁드립니다.v1.0.5아래 샘플 이미지 참고(왼쪽이 플로팅 메뉴 노출된 상태, 오른쪽이 메뉴 클릭한 상태)1. [모바일] 모바일 기기 사용시 플로팅 왼쪽메뉴 추가Kiwi 브라우저를 다운 받으시고 확장 프로그램을 설치하시면 앙UI를 쓰실 수 있습니다.모바일 기기에서 다모앙 접속시 왼쪽 아래에 플로딩 메뉴 아이콘이 출력됩니다.아이콘을 터치하면 왼쪽에 슬라이딩 메뉴가 등장합니다.다모앙에서 오른쪽 메뉴, 앙UI는 왼쪽 메뉴를 제공합니다. 상황에 맞게 편하신걸 사용하세요.​2. [모바일] 댓글 버튼 그룹 위치 이동 기능 UI개선약간 개선을 하였으나 해상도가 낮은 구형폰엔 이 기능은 비활성화 하시길 추천드립니다.3. 앙UI 버튼이 로그아웃시 프로필쪽에 생기는 문제 조치(은근슬쩍 패치ㅡㅡ;)​v1.0.41. 소모임 메뉴 목록 못 가져오는 문제 조치- 다모앙 소스의 소모임 목록 클래스명이 변경되어 변경된 이름으로 현행화v1.0.31. [조회] 작성자의 작성 댓글/글 목록조회 건수 최대 1000개 -> 페이징 없이 최근 30개로 제한(성능문제로 제한함)작성글/댓글 클릭시 새창으로 띄우도록 조치2. [메인] 앙UI 업데이트 발생시 다모앙 알림 뜨도록 조치알림을 클릭하면 앙UI 설정 화면이 뜸새 버전을 다운 받고 적용해야 알림이 사라집니다.3. 내가 작성한 댓글 배경색 변경(검정색 계열로) 색상 선택 넘 어려워요 ㅡㅡ;4. 다모앙 개발진에서 사이드메뉴 스크롤/고정 관련 기능을 바꾸고 있네요.기본값 : 메뉴 스크롤인 듯 합니다. 고정하는 기능은 아직 동작하지 않네요.이건 개발진에서 작업중이니 그냥 두겠습니다.v1.0.1 ~ 1.0.21. 새버전 체크시 버전이 undefined로 뜨는 문제 조치​2. 메뉴 스크롤 관련 오류 수정3. 글 조회시 작성자의 작성 댓글/글 목록 보이지 않는 문제 조치4. 홈으로 고정된 단축키 9번을 모든 메뉴 대상으로 설정 가능하게 오픈5. 글 조회시 작성자의 작성 댓글/글 목록 가로폭 꽉차게 수정(1.0.2)
8500 조회
29 추천
04.22 16:03 등록
킨들에서 보려고 만들어봤습니다. 이북리더기에 넣어서 보시면 좋을듯 합니다.
556 조회
9 추천
04.22 14:52 등록
다른 사이트에 올렸던 것을 모두 삭제하여, 다모앙에 다시 올려놓습니다. 필요하신 분은 다운받으시고, 마음껏 재배포 하셔도 괜찮습니다. 아래 사이트의 "Shop" 메뉴에 들어가셔서 2nd edition 클릭하시고 이름과 이메일 넣으시면 (아무거나 넣어도 됩니다.) 무료로 다운로드 받으실 수 있습니다.
500 조회
17 추천
04.22 00:11 등록
-
1388 조회
11 추천
04.21 21:02 등록
텔레그램에서 사용하던 2014.04.16 추모 리본입니다 원래 mp4 파일인데 gif로 변환했습니다 화질 저하있습니다 mp4는 어떻게 첨부하는지 몰라 같이 첨부하지 않습니다
207 조회
8 추천
04.21 14:25 등록
책을 낱장으로 분리합니다. 책을 한 페이지씩 스마트폰으로 찍습니다. 이 때 스마트폰과 바닥이 수직으로 놓여야 합니다. 책을 놓을 배경색은 검은색을 추천합니다. 상대적으로 돋보여서 책 영역 선택이 더 잘 됩니다. 책 사진에서 책 영역만 추출하여 파일로 저장하려고 합니다. 책 사진은 수직 수평이 안 맞게 찍히는 경우가 많습니다. 그래서 기울기를 알아내고, 기울기만큼 회전해야 합니다. 책 영역만 선택하여 파일로 저장하면 파일의 크기가 줄어듭니다. python과 opencv를 주로 사용해서 기능을 구현했습니다. 저는 프로그래머가 아니며, chatGPT4에게 질문+수정을 반복하여 만들었습니다. 이 코드는 59번째로 수정한 코드입니다. 다른 어떤 사람의 코드도 삽입하지 않았습니다. 퍼블릭 도메인입니다. 그러니 여러분도 마음껏 사용/추가/변형하셔도 됩니다. pyqt5를 사용해서 GUI까지 추가한 코드도 만들었습니다만, 좀 허접한 GUI라서 그 코드는 공개하지 않았습니다. 컴파일해서 실행 파일을 제공하면 일반 유저에게 더 편리하겠지만, 파일 용량이 100MB 정도 됩니다. C:\input 폴더에 책 사진 파일들을 넣고 이 프로그램을 실행하면, C:\output 폴더에 책 영역만 저장된 파일로 저장됩니다. 모든 파일들을 처리하면 프로그램이 자동으로 종료됩니다. 사진 파일 1개를 처리하는 데에 대략 1초 정도 걸립니다. 실행 파일을 더블 클릭하는 것 외에 어떠한 추가 동작도 필요하지 않습니다. pyqt5를 사용해서 만든 GUI에는 처리된 파일의 수/전체 파일의 수를 표시하는 코드가 들어 있습니다. openCV에는 컨투어를 찾는 함수가 있는데요, 이 함수는 우리가 기대하는 방식으로 동작하지 않았습니다. 그래서 면적이 가장 큰 컨투어를 찾은 다음에 '가장 큰 폐곡선으로 이루어진 영역'을 추가로 찾아야 합니다. 책 사진을 찍을 때 조명 때문에 비스듬한 각도로 찍으면 책 모양이 직사각형이 안 됩니다. 이 경우에는 회전하고 자르는 함수 대신에 형태변환 함수를 사용해야 합니다. 이 코드도 만들기는 했는데, 작동 방식이 이해가 잘 안 되었습니다.. 쩝 수동으로 책 사진을 회전하고 잘라야 할 때도 생길 겁니다. 이 코드는 이미지 뷰어 코드도 포함되어야 하고, 확대 축소하는 코드도 포함되어야 하는데, 제가 만들기에는 너무 복잡해서 접었습니다. import cv2 import os import numpy as np import sys folder_path = "C:/input" # 작업하려는 폴더 경로 file_list = os.listdir(folder_path) image_extensions = [".jpg", ".jpeg", ".png"] # 그림 파일만 불러온다 image_files = [file for file in file_list if any(file.lower().endswith(ext) for ext in image_extensions)] # 각 파일을 하나씩 불러온다 for image_name in image_files: # 이미지 파일을 불러온다 image = cv2.imread("C:\\input\\{}".format(image_name)) # 그레이 스케일 및 이진화 gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) _, binary = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU ) # 컨투어 찾기 contours, _ = cv2.findContours(binary, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # 가장 큰 컨투어 찾기 largest_contour = max(contours, key=cv2.contourArea) # 가장 큰 컨투어에 불필요한 점/점들이 포함된 경우가 종종 발생하기 때문에 제거할 필요가 있다 # 새로운 이미지 생성 (검은색 배경) new_image = np.zeros_like(binary) # 가장 큰 컨투어 중에서 면적이 가장 큰 폐곡선 찾기 largest_closed_contour = max([c for c in contours if cv2.contourArea(c) > 0], key=cv2.contourArea) # 면적이 가장 큰 폐곡선 안에 있는 흰색 점들만 남기고 나머지는 삭제하여 새 이미지에 저장 cv2.drawContours(new_image, [largest_closed_contour], -1, (255), thickness=cv2.FILLED) # 컨투어를 둘러싼 가장 작은 사각형 찾기 min_rect = cv2.minAreaRect(largest_closed_contour) # minAreaRect에서 반환한 4개 점은 실수값을 갖으므로, 사용하려면 정수로 변환한다 box_points = cv2.boxPoints(min_rect) box_points = np.intp(box_points) # 4개 점을 좌표값에 따라서 번호를 부여한다 # 원래의 의도는 좌상, 우상, 좌하, 우하 순서로 P1, P2, P3, P4를 부여하려고 하였다 # 그러나 프로그래머의 일반적인 코드 규칙에 따라서 점의 번호를 부여하기로 생각을 바꿨다. # The order will be P1 (top-left), P2 (top-right), P3 (bottom-left), P4 (bottom-right) box_points = sorted(box_points, key=lambda x: (x[1], x[0])) if box_points[0][0] > box_points[1][0]: box_points[0], box_points[1] = box_points[1], box_points[0] if box_points[2][0] > box_points[3][0]: box_points[2], box_points[3] = box_points[3], box_points[2] # 프로그래머의 일반적인 코드 부여 방법에 따라서 점의 번호를 정했다 P1 = box_points[0] P2 = box_points[1] P3 = box_points[2] P4 = box_points[3] if P1[0] < P2[0]: # 기울기가 양수일 때(왼쪽으로 기울었다:시계방향으로 회전해야 한다) x1, y1 = P1[0], P1[1] x2, y2 = P2[0], P2[1] # 기울기 slope를 계산한다. delta_x = x2 - x1 delta_y = y2 - y1 slope = delta_y / delta_x if delta_x != 0 else None # 기울기에 따라서 회전할 각과 방향을 계산한다 # Calculate the angle in radians and then convert to degrees # The angle must be negative for a clockwise rotation angle_of_rotation = -np.degrees(np.arctan(slope)) # 시계방향으로 angle만큼 회전하고, 변수에 저장한다 # center에 들어갈 점 P의 좌표는 데이터형을 변환해야 한다 center = (int(P1[0]), int(P1[1])) angle = -angle_of_rotation M = cv2.getRotationMatrix2D(center, angle, 1) rotated_image = cv2.warpAffine(image, M, (image.shape[1], image.shape[0])) # 회전한 이미지를 저장하지 않고 변수를 바로 사용하여 다음 단계의 작업을 진행한다 #그레이 스케일 및 이진화 gray1 = cv2.cvtColor(rotated_image, cv2.COLOR_BGR2GRAY) _, binary1 = cv2.threshold(gray1, 127, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU ) # 회전한 이미지의 컨투어 찾기 contours1, _ = cv2.findContours(binary1, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # 회전한 이미지의 가장 큰 컨투어 찾기 largest_contour1 = max(contours1, key=cv2.contourArea) # 새로운 이미지 생성 (검은색 배경) new_image1 = np.zeros_like(binary1) # 가장 큰 컨투어에 불필요한 점/점들이 포함된 경우가 종종 발생하기 때문에 제거할 필요가 있다 # 회전한 이미지의 가장 큰 컨투어 중에서 면적이 가장 큰 폐곡선 찾기 largest_closed_contour1 = max([c for c in contours1 if cv2.contourArea(c) > 0], key=cv2.contourArea) # 면적이 가장 큰 폐곡선 안에 있는 흰색 점들만 남기고 나머지는 삭제하여 새 이미지에 저장 cv2.drawContours(new_image1, [largest_closed_contour1], -1, (255), thickness=cv2.FILLED) # 회전한 이미지의 컨투어를 포함하는 가장 작은 사각형을 찾는다 min_rect1 = cv2.minAreaRect(largest_closed_contour1) # minAreaRect에서 반환한 4개 점은 실수값을 갖으므로, 사용하려면 정수로 변환한다 # Convert it to box points (four points) box_points1 = cv2.boxPoints(min_rect1) box_points1 = np.intp(box_points1) # # 4개 점을 좌표값에 따라서 번호를 부여한다 # 원래의 의도는 좌상, 우상, 좌하, 우하 순서로 P1, P2, P3, P4를 부여하려고 하였다 # 그러나 프로그래머의 일반적인 코드 규칙에 따라서 점의 번호를 부여하기로 생각을 바꿨다. # The order will be P1 (top-left), P2 (top-right), P3 (bottom-left), P4 (bottom-right) box_points1 = sorted(box_points1, key=lambda x: (x[1], x[0])) if box_points1[0][0] > box_points1[1][0]: box_points1[0], box_points1[1] = box_points1[1], box_points1[0] if box_points1[2][0] > box_points1[3][0]: box_points1[2], box_points1[3] = box_points1[3], box_points1[2] # 프로그래머의 일반적인 코드 부여 방법에 따라서 점의 번호를 정했다 # 점의 번호를 앞의 점과 다르게 해서 혼동을 피했다 P11 = box_points1[0] P22 = box_points1[1] P33 = box_points1[2] P44 = box_points1[3] # 4개 점의 좌표를 이용하여 사각형 영역을 택하여 새 그림 파일로 저장한다 k = rotated_image[P11[1]:P33[1], P11[0]:P22[0]] cv2.imwrite("C:\\output\\{}".format(image_name), k) else: # 기울기가 양수가 아닐 때(오른쪽으로 기울었다:반시계방향으로 회전해야 한다) x1, y1 = P1[0], P1[1] x2, y2 = P2[0], P2[1] # 기울기를 계산한다 delta_x = x2 - x1 delta_y = y2 - y1 slope = delta_y / delta_x if delta_x != 0 else None # 기울기에 따라서 회전할 각과 방향을 계산한다 # If the slope is zero (horizontal line), we do not need to rotate. # If the slope is negative or undefined (vertical line), we rotate counterclockwise. # The angle must be positive for a counterclockwise rotation angle_of_rotation = np.degrees(np.arctan(-slope)) if slope is not None else 90 # 반시계방향으로 angle만큼 회전하여 변수에 저장한다 # center에 들어갈 점 P의 좌표는 데이터형을 변환해야 한다 center = (int(P1[0]), int(P1[1])) angle = angle_of_rotation M = cv2.getRotationMatrix2D(center, angle, 1) rotated_image = cv2.warpAffine(image, M, (image.shape[1], image.shape[0])) # 회전한 이미지를 저장하지 않고 변수를 바로 사용하여 다음 단계의 작업을 진행한다 #그레이 스케일 및 이진화 gray1 = cv2.cvtColor(rotated_image, cv2.COLOR_BGR2GRAY) _, binary1 = cv2.threshold(gray1, 127, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU ) # 회전한 이미지의 컨투어 찾기 contours1, _ = cv2.findContours(binary1, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # 회전한 이미지의 가장 큰 컨투어 찾기 largest_contour1 = max(contours1, key=cv2.contourArea) # 새로운 이미지 생성 (검은색 배경) new_image1 = np.zeros_like(binary1) # 회전한 이미지의 가장 큰 컨투어 중에서 면적이 가장 큰 폐곡선 찾기 largest_closed_contour1 = max([c for c in contours1 if cv2.contourArea(c) > 0], key=cv2.contourArea) # 면적이 가장 큰 폐곡선 안에 있는 흰색 점들만 남기고 나머지는 삭제하여 새 이미지에 저장 cv2.drawContours(new_image1, [largest_closed_contour1], -1, (255), thickness=cv2.FILLED) # 회전한 이미지의 컨투어를 포함하는 가장 작은 사각형을 찾는다 min_rect1 = cv2.minAreaRect(largest_closed_contour1) # minAreaRect에서 반환한 4개 점은 실수값을 갖으므로, 사용하려면 정수로 변환한다 # Convert it to box points (four points) box_points1 = cv2.boxPoints(min_rect1) box_points1 = np.intp(box_points1) # 4개 점을 좌표값에 따라서 번호를 부여한다 # 원래의 의도는 좌상, 우상, 좌하, 우하 순서로 P1, P2, P3, P4를 부여하려고 하였다 # 그러나 프로그래머의 일반적인 코드 규칙에 따라서 점의 번호를 부여하기로 생각을 바꿨다. # The order will be P1 (top-left), P2 (top-right), P3 (bottom-left), P4 (bottom-right) box_points1 = sorted(box_points1, key=lambda x: (x[1], x[0])) if box_points1[0][0] > box_points1[1][0]: box_points1[0], box_points1[1] = box_points1[1], box_points1[0] if box_points1[2][0] > box_points1[3][0]: box_points1[2], box_points1[3] = box_points1[3], box_points1[2] # 프로그래머의 일반적인 코드 부여 방법에 따라서 점의 번호를 정했다 # 점의 번호를 앞의 점과 다르게 해서 혼동을 피했다 P11 = box_points1[0] P22 = box_points1[1] P33 = box_points1[2] P44 = box_points1[3] # 4개 점의 좌표를 이용하여 사각형 영역을 택하여 새 그림 파일로 저장한다 k = rotated_image[P11[1]:P33[1], P11[0]:P22[0]] cv2.imwrite("C:\\output\\{}".format(image_name), k) sys.exit()
1153 조회
10 추천
04.19 15:09 등록
[PC] 3966 x 2475 [MO1] 1893 x 4096 [MO2] 1893 x 4096
1048 조회
6 추천
04.19 08:06 등록
레옹이 재개봉 했다고 해서, 그냥, 제가 수년 간 사용중인 레옹 배경 올려볼께요..ㅎ 인터넷에서 구한 원본에서 위를 검게 늘리고.. 아래 글씨들은 제가 추가했습니다.원본은 보시면 도메인 주소가 있네요..언제 받았는지 기억 안나지만, 꾸준히 사용 중 이네요..ㅎ 문제없겠죠?? 문제시는 삭제하겠습니다~ 제가 텍스트 추가하고, 업스케일링해서 화질 좋은 파일도 첨부 합니다. ^^ 우리모두 ~~~ 앙
858 조회
7 추천
04.17 22:11 등록
작업 표시줄 숨기기/보이기 전환 하는 유틸을 제작하였습니다 단축키 CTRL+F2키를 누르면 서로 전환 합니다 시작 시 자동실행 되고 ini 설정에서 바꿀 수 있습니다 ​ <ST.ini> [SYSTEM]ALT=0CONTROL=1SHIFT=0WIN=0KEY=VK_F2IsRunStartup=1 ​ 단축키 CTRL+F2 (CONTROL=1,KEY=VK_F2) 로그인 시 자동실행(IsRunStartup=1)
752 조회
9 추천
04.17 11:00 등록
아이폰을 사용하다보니 구글포토에 업로드된 원본파일도 Heic더군요..그래서 자주 Jpg등으로 변환할일이 많았는데 유료프로그램 또는 웹사이트에서구동되는 프로그램이다보니 찝찝한 느낌이 들더라구요..그래서 자바를 주로 사용하는 개발자이지만.. claude와 짧은 개발지식으로Heic to jpg변환 프로그램을 제작하게 되었습니다!혹시나 필요하신분들이 있을가 하여 github링크를 공유드립니다.백엔드 개발자이다보니.. GUI는. 담백합니다 흑 ㅠㅠ혹시나 하는 파일 위변조에 대한 대비책으로 체크섬도작성해두었습니다!사용설명서및 다운로드는 아래 github링크를 이용해 주세요!​https://github.com/hwanyeong-choi/heicTojpg_python_tkinter/releases/tag/v1.0.0​
725 조회
20 추천
04.16 17:01 등록
🎗잊지 않겠습니다 | 제작자의 말 안녕하세요. 5주기 때부터 매년 개인적인 추모로서 세월호 추모 이미지를 만들어 공유하고 있습니다. 매년 꾸준히 해오던 일인데, 벌써 10주기라니 참 시간이 빠른 것 같습니다. 유용하게 사용하셨다면 댓글 하나 남겨주세요.혹은 블로그 광고 한 번 눌러주시면 큰 힘이 됩니다. 감사합니다. 블로그 :https://jgpark.kr/847 | 다운로드 📣 다운로드 안내 크게 2가지의 버전으로 제공됩니다. 1. SNS 게시물 업로드 용(1:1) 2. SNS 스토리 업로드 용(9:16) 이번 이미지에는 10주기를 맞아, 리본 뒤에 흐릿한 '10'이라는 타이포를 포함하였습니다. 10이 있는 버전과 없는 버전으로 각각 제공합니다. 이미지 원본 압축 파일이 필요하신 분은 블로그에서 다운로드 부탁드립니다. | SNS 게시물 업로드 용(1:1) | SNS 스토리 업로드 용(9:16) | iPhone에서 이미지 저장하는 방법 다모앙에서는, 이미지를 한 번 클릭하여 새 창에 이미지가 열리면, 길게 눌러 '사진 앱에 저장'을 클릭하시면 됩니다. | 저작권 안내 이 저작물은 Creative Commons 라이선스를 채택한 저작물입니다. 세월호 10주기 이미지/JGP/ CC-BY ND 저작자 표시 및 수정금지 조건 하에 상업적/비상업적 이용 가능
405 조회
8 추천
04.16 08:45 등록
서버측 메모기능이 개발될때까지 임시로 쓸 용도의 확장애드온입니다.크롬에선 크롬스토어에서, 엣지에서는 다른 스토어의 확장 설치하기로 설치가능합니다.https://chromewebstore.google.com/detail/%EB%8B%A4%EB%AA%A8%EC%95%99-%EB%A9%94%EB%AA%A8-%EC%95%A0%EB%93%9C%EC%98%A8/akmcdcllckicjamdjhbihfmblieafpof?hl=ko원문 - v1.3 개발버전 다운로드 및 설치: https://damoang.net/free/151988
455 조회
10 추천
04.16 07:29 등록
타이패이 시내 지도입니다. 지역별 지도를 붙이면 한장의 큰 지도가 됩니다. 이전 게시물 3,4번 지도와 매치하시면 위치파악에 도움이 되실껍니다.
891 조회
17 추천
04.15 19:16 등록
망막 박리와 백내장으로 한동안 여행을 못하다가 다시금 방랑벽이 도져 떠나볼까 합니다. 대만은 2번째 방문인데 거창한 자료 없이 갈만한 곳만 지도에 표시하고 가볼까 합니다. 지난 여행에서 다녀왔던곳 + 이번에 가볼곳 업데이트 한 지도 입니다. 변변치 않지만 여행지를 선택하는데 미약하게나마 도움이 될까 해서 올립니다. 혹시 추천하고 싶은 곳이 있으면 알려주시면 추가도 하고 저도 방문해 볼까 합니다.
589 조회
9 추천
04.15 18:20 등록
취미가 세차라 소분용기용 라벨을 좀 만들어 봤습니다. 500ml 제품을 여러개 가지고 다니면 너무 무거워서요. 200ml 정도의 작은 용기에 소분해서 다니는데 용기를 통일하니 라벨도 붙이고 싶고 해서 만들어 봤습니다. 회사별로 여러개를 만들려 했으나 일단 제가 쓰는 제품 위주로 만들어 놨습니다. 여기에 예시로 올리는 이미지들은 인쇄용으로 적합하지 않으니 링크에 들어가셔서 인쇄용 PDF를 받으시길 바랍니다. 오프린트미라는 스티커 만드는 웹사이트를 기준으로 하였으며 사이즈는 65mm X 42mm 입니다. 대략 이런 모습입니다. 댓글로 제작 요청하시면 최대한 만들어 보겠습니다. 감사합니다.
533 조회
3 추천
04.15 15:14 등록
키보드 좌우 방향키로 이전/다음글을 넘기는 기능이 있으면 좋을 것 같아 유저스크립트로 만들어 보았습니다. 자바스크립트를 모르는지라 예제를 대충 붙였는데 괜찮은지 모르겠네요 ㅎㅎ ViolentMonkey(파이어폭스, 크로미움) 등의 유저스크립트 실행기 설치 후 추가하시면 됩니다. // ==UserScript== // @name 다모앙 이전/다음글 // @namespace https://damoang.net/ // @version 1.0 // @description 키보드 좌우 방향키로 이전/다음글을 조회합니다. // @author 8086 // @match https://damoang.net/* // @grant none // ==/UserScript== window.addEventListener ("keydown", keyboardHandler, false); function keyboardHandler (zEvent) { var bBlockDefaultAction = false; if ($('div[id="bo_v_act"]')[0]){ if (zEvent.which == 37) { window.location = $('a[class="btn btn-basic btn-sm"]').has('i[class="bi bi-chevron-left"]')[0].href bBlockDefaultAction = true; } else if (zEvent.which == 39) { window.location = $('a[class="btn btn-basic btn-sm"]').has('i[class="bi bi-chevron-right"]')[0].href bBlockDefaultAction = true; } if (bBlockDefaultAction) { zEvent.preventDefault (); zEvent.stopPropagation (); } } }
617 조회
6 추천
04.15 02:27 등록
곧 10주기이기도 하고, 이래저래 쓰실 분들이 있을 것 같아 올려둡니다. 740x1382 크기의 webp와 png 이미지입니다. 링크된 압축파일을 받으세요.
685 조회
15 추천
04.13 14:23 등록
클량의 스드크(돼장)님의 탈출 선언문 입니다.시작은 이러했다고 합니다. ㅎ​https://damoang.net/notice/1385​
1666 조회
30 추천
04.13 13:59 등록
3840 * 2160
1907 조회
19 추천
04.13 13:56 등록
홈으로 전체메뉴 마이메뉴 새글/새댓글
전체 검색