2020.11_미국_대선2023. 5. 3. 17:07

 

반달가면 이글루에서 백업 - http://bahndal.egloos.com/644084 (2020.11.29)

 

이번 미국 대선의 펜실베니아(Pennsylvania)주 부정선거 의혹과 관련하여, 지난 11월 25일에 상원(Senate)에서 청문회를 주최했다. 아래의 동영상이다. 

 

https://youtu.be/ZYtwfyi78Bs

 

(백업하는 현 시점에서 해당 동영상은 삭제된 듯하다.)

 

트럼프의 변호사로 이번 부정선거 소송을 주도하고 있는 루디 줄리아니(Rudy Giuliani)가 청문회 초반에서 발언한 주요 내용을 번역하여 정리해 본다. 발언의 취지는 이전에 정리한 루디 줄리아니의 필라델피아 기자회견 내용과 비슷하나, 추가적인 흥미로운 내용도 있다. 동영상 14분40초부터 28분53초까지다.

 

 

상원의원 여러분, 마스트로이아니(Mastroianni) 의원님을 비롯한 펜실베니아 입법부 성원 여러분, 거의 모든 언론이 차단하고 다른 주의 입법부에서 차단하고 있는 사안에 대하여 이렇게 발언할 기회를 주셔서 매우 감사드립니다. 저희가 오로지 요청드리는 것은 저희가 제시하는 사실들을 들어보시고 검토하시는 것입니다.

여기 게티스버그(Gettysburg)에서 청문회를 하게 되니, 156년전에 바로 이 곳에서 국가의 명운이 걸린, 5만명의 사상자가 발생했던, 3일간의 혈전이 벌어졌다는 점을 생각하게 됩니다. 그리고 너무나 중요한 가치들을 공유하는 하나의 국가, 하나의 정부를 이루게 된 것입니다. 저는 이 중요한 가치들이 지금 위기에 처했다고 믿고 있습니다. 이번 선거뿐만 아니라 이번 선거가 진행된 방식에 대해서 우리가 어떻게 대처해야 할 것인가의 문제이기 때문입니다. 만약 미래의 선거를 이번 선거처럼 치른다면, 우리는 대의민주주의를 잃어버리는 것입니다.

이번 선거 과정에서 우리는 표현의 자유(right of free speech)를 거의 잃을 뻔했습니다. 거대 IT기업들, 거대 언론사들 등에 의한 전례 없는 검열이 있었으며, 이들은 오직 한쪽편의 이야기만 허용했습니다. 다른편의 얘기는 들으려 하지 않았습니다. 이들은 마치 미국 시민들이 자신들의 정체와 목적을 알게 될까봐 두려워하고 있는 듯합니다.

우리가 부른 증인들을 통해서 들으실 것인데, 이번 선거에서의 부정행위는 다방면에서 이루어졌고, 여러가지 방법이 동원되었습니다. 가장 위험한 사실은 우리가 조사한 최소 6개의 주(state)에서 벌어진 양상이 매우 비슷하다는 것입니다. 지금 여기서 증인들이 증언할 내용들은 거의 동일한 형태로 미시건(Michigan), 위스콘신(Wisconsin), 네바다(Nevada), 아리조나(Arizona), 조지아(Georgia)에서도 발생했습니다. 주요 조작 대상은 우편투표였습니다.

우편투표 자체를 혀용할 것인가에 대해서 과거에도 격렬한 토론이 있었습니다. 많은 학자들과 전문가들은 우편투표가 조작 가능성이 높아서 매우 위험하다고 보았습니다. 수터(Souter) 대법관, 지미 카터(Jimmy Carter) 대통령, 제임스 베이커(James Baker) 국무장관 등은 선거의 안전성을 확보하는 방안에 대한 보고서에서 보편적 우편투표가 채택된 곳에서는 예외 없이 부정이 일어났다고 경고한 바 있습니다. 믿기 어려우시겠지만 뉴욕타임즈(New York Times)에서도 2012년에 같은 취지의 기사를 - 지금은 자신들이 그런 기사를 냈다는 사실을 잊은 모양입니다만 - 냈던 바 있습니다.

여기 펜실베니아와 다른 6개주에서 우편투표 절차를 조사해 보면 이것은 끔찍한 실수이며, 이미 부정선거에 전문가 수준었던 어떤 정당의 지도부가 사실상 폭주를 하게 만들었습니다.

여기에 출석한 증인들은, 필라델피아(Philadelphia), 앨리게니 카운티(Allegheny County)와 한두개의 다른 카운티에서 수신한 우편투표를 공화당측에서는 단 한명도 살펴볼 수 없었다는 사실을 증언할 것입니다. 우편투표를 공화당원들이 보지 못하게 숨겼습니다.

필라델피아와 앨리게니 카운티의 경우에서, 제가 100% 단정할 수는 없지만, 증인들이 "공화당원이 우편투표지를 단 한표도 보지 못했다"는 점을 보여주리라 믿고 있습니다.

우편투표가 유효한 것인지 아닌지를 확인할 수 있는 유일한 시점은 확인서류를 포함한 봉투에서 투표지를 분리하는 시점입니다. 분리된 후에는 확인할 수 없습니다. 비밀투표이기 때문에 재검표를 하고 전자개표와 수개표를 비교해도 이것은 확인할 수 없습니다. 이런 이유 때문에 펜실베니아를 비롯한 미국의 모든 주에서 예전부터 바로 이 시점의 확인과정에 참여했던 것입니다. 증인들 중 몇명은 20년, 30년 넘게 이러한 과정에 참여해 왔습니다만, 공화당원과 민주당원, 다른 당의 당원이 입회하여 우편투표를 확인하지 못하게 막은 경우는 이번이 처음입니다. 우편투표 확인과정이 필요한 이유는 부정선거를 막기 위해서입니다.

생각해 보시기 바랍니다. 이 주 전역에서 공화당원들은 투표지를 확인하지 못하도록 차단당했습니다. 지금까지 이런 적이 단 한번도 없습니다. 그뿐만 아니라, 같은 일이 미시건, 위스콘신 등지에서 일어났습니다. 11월 3일, 그리고 4일 아침에 개표를 진행하면서 민주당 절대우위인 여러 도시의 지도부가 - 이들 도시에는 부패 전력이 있고 특히 필라델피아는 오래전부터 선거부정 사례가 많았습니다 - 다 같이 똑같은 생각을 할 확률이 얼마나 될까요?

지금까지 계속 언제나 양당 관계자가 입회하여 우편투표를 조사해 왔는데, 갑자기 각 주마다 수백만표의 우편투표가 발생한 이번 선거에서만 공화당원 그 누구도 조사하지 못하도록 차단을 한 것입니다. 필라델피아, 피츠버그(Pittsburgh), 디트로이트(Detroit), 밀워키(Milwaukee), 라스 베가스(Las Vegas) 등에서 동시에 갑자기 같은 방법이 생각난 것일까요, 아니면 공통의 계획이 있었던 것일까요?

아마도 대규모 우편투표를 실시하기로 결정하면서부터 생각했을 것입니다. 조작할 수 있는 투표수의 범위가 훨씬 늘어났으니까요. 부재자 투표가 40만표 정도 수준이면 조작할 수 있는 투표수도 여기에 제약됩니다. 만약 250만표가 있다면 훨씬 더 많은 투표수를 조작할 수 있게 될 것입니다.

그러므로, 우편투표를 조사하지 못했다는 증언은 단순히 그 해당 투표지에 국한된 문제가 아닙니다. 선거일 밤에, 제가 잠자리에 들 무렵에 트럼프 대통령은 펜실베니아에서 70만표에서 80만표 차이로 앞서고 있었습니다. 이것은 엄청난 격차입니다. 개표율이 65%에서 이런 상황이면 정상적인 언론이라면 트럼프의 승리가 확정적으로 보인다고 발표했을 것입니다. 버지니아(Virgina)주의 경우 개표율 10%에서 바이든 승리를 발표하더니 실제 결과는 1% 정도의 차이였죠. 저는 어쩌면 버지니아에서도 우리가 승리했을지 모른다는 생각을 합니다. 미시건에서는 30만표 차이로 앞서고 있었고, 위시콘신에서는 더 차이가 컸습니다. 조지아에서는 개표율 90%에서 트럼프가 앞서고 있었습니다. 이 모든 주의 결과가 하룻밤새 다 같이 뒤집힐 확률은 얼마나 될까요?

몇가지 통계에 대해서도 면밀한 조사가 필요합니다. 이 부분에 대해서 언급한 후에 증인들의 증언을 듣겠습니다.

우리가 계산했으며 증거를 통해서도 알 수 있는데, 앨리게니 카운티와 필라델피아에서만 우편투표 68만2770표가 단 한명의 공화당원도 확인하지 못한채 개표결과에 추가되었습니다. 이 투표지들은 전부 바이든에 기표되었을 수도 있고, 다른 사람에게 기표되었을 수도 있고, 이것이 전부 한 사람이 투표한 것일 수도 있으나, 확인할 수 있는 방법이 없습니다. 이름이 중복되었는지 서류에 아예 이름이 없는지 확인되지도 않았습니다. 이 68만2770표에 속한 우편봉투를 조사하면 매우 흥미로울 것입니다. 만약 그 봉투들을 폐기하지 않았다면 말이죠.

어쨌든, 여러분들이 제정하신 펜실베니아 주 법률에 의하면 이 투표지들은 위법입니다. 법관이 우리가 6백만명의 권리를 박탈하려 한다고 잘못된 언급을 했는데, 우리는 누구의 권리를 박탈하려는 것이 아니라 7천4백만명의 권리를 보호하기 위해 68만표를 무효화하려는 것입니다. 왜냐하면 부정선거가 있었기 때문입니다.

저는 또 한가지 매우 이상한 통계 수치를 제시하고자 합니다. 펜실베니아주는 총 182만3148장의 우편투표지를 발송했습니다. 그리고, 약 140만장이 회신되었습니다. 그랬는데, 개표를 해 보니 우편투표가 총 250만표가 나왔습니다. 발송한 우편투표지수와 개표결과 사이에 있는 이 70만표가 어떻게 발생한 것인지 알 수가 없습니다.

우편투표 총수 258만9242표는 펜실베니아주 정부 웹사이트에 바로 어제까지 게시되어 있던 수치입니다. 그러다가 어제 아무런 설명도 없이 이 정보는 삭제되었습니다. 왜 삭제했는지 그 이유를 들어보면 흥미로울 것 같습니다. 이 문제를 규명하지 않고 선거 결과를 인증(certify)할 수 있다는 것은 저는 상상이 안됩니다.

뿐만 아니라 우편투표중 2만2686표는 발송한 날과 같은 날에 되돌아와 수취되었습니다. 3만2591표는 발송한 바로 다음날에 되돌아와 수취되었습니다. 2만표는 발송하기도 전에 되돌아와 수취되었습니다.

필라델피아의 범죄자들은 사망자가 투표한 수가 8천21표밖에 안되는 점에 대해 투표수가 너무 낮다고 실망할 수도 있겠군요. 죽은 사람이 투표하려면 직접 투표소를 방문하는 것보다는 우편으로 하는 것이 쉽겠죠. 필라델피아 지역 묘지들의 기록을 보니 사망자가 3만명 정도 되더군요. 우편투표를 요청하지도 않았는데 발송된 우편투표도 4천984건입니다.

이 두개의 카운티(필라델피아, 앨리게니), 어쩌면 추가적인 또 하나의 카운티를 볼 때, 이 선거는 엉터리입니다. 이것은 펜실베니아의 수치(disgrace)입니다. 선거는 주지사에 의해 진행되는 것도 아니고, 주 선관위원회에 의해 진행되는 것도 아닙니다. 미국 헌법은 이 선거에 대한 책임소재를 분명하게 제시하고 있습니다. 헌법 2조 1항에 의하면, 승자를 결정하는 것은 ABC나 CNN 같은 방송국이 아닙니다. 헌법에 의하면 각 주의 입법기관이 지시하는 바에 의해 이루어지도록 되어 있습니다. 이 절차를 주관하는 것은 주 입법부입니다. 이것은 여러분의 권한이자 여러분의 책임입니다.

이미 알고 계실 것이라 생각하고, 다른 공화당과 민주당 의원들을 납득시켜야 합니다. 그것이 펜실베니아 시민에 대한 의무이며 미국 시민에 대한 의무입니다. 이런 부정행위를 하고도 책임을 피할 수 있다면, 공화당원을 차단하고 60만표를 추가할 수 있다면, 다음에 1백만표, 2백만표를 이런 식으로 추가하지 말라는 보장이 있습니까? 저는 범죄자들을 매우 잘 압니다. 1인치를 허용하면 1마일을 가져가고, 1마일을 허용하면 그들은 국가 전체를 접수할 것입니다.

이제 증언을 들으시겠습니다.


이후에 필라델피아에서 벌어진 선거부정과 관련하여 여러 증인들의 증언이 이어진다.

과연 펜실베니아주는 180만장의 우편투표지를 발송한 후에 되돌아온 140만장을 수취하여 개표를 진행한 후, 개표결과를 보니까 우편투표수가 총 250만표인 이런 기괴한 상황에서 이것을 다 무시하고 바이든이 승리했다고 인증할 수 있을 것인가?

728x90
Posted by 반달가면
2020.11_미국_대선2023. 5. 3. 16:59

 

반달가면 이글루에서 백업 - http://bahndal.egloos.com/644035  (2020.11.25)

 

이전에 정리했던 "2020년 미국 대선 관련, 미시건(Michigan)주 개표결과 분석 - 시바 아야두라이(Shiva Ayyadurai)"에서 이어지는 글. 여기서 다루는 내용을 이해하려면 우선 앞의 글을 정독하는 것이 좋겠다.

 

여기서 살펴보려는 동영상은 앞의 글에서 시바 아야두라이(Shiva Ayyadurai) 박사가 제시한 미시건(Michigan)주 개표결과 그래프의 경향성이 부정선거임을 나타낸다고 보기 어렵다는 취지의 주장을 담고 있다. 매트 파커(Matt Parker)라는 사람이 운영하는 "Stand-up Maths"라는 이름의 유튜브 채널이며, 아래의 동영상이다.

 

https://youtu.be/aokNwKx7gM8

 

여기서 주장하는 주요 내용은 아래와 같다.

x축을 정당투표(straight party vote)의 공화당 득표율, y축을 개별후보투표(individual candidate vote)의 트럼프 득표율에서 공화당 득표율을 뺀 값으로 설정하여 각 프리싱트(precinct)의 개표 결과를 점으로 찍어서 그린 산점도(scatter plot)를 그렸을때 선형 반비례 경향이 나온다.

그런데, 동일한 카운티(county)에서 민주당과 바이든의 득표율을 가지고 산점도를 그려 보니 역시 마찬가지로 선형 반비례 경향을 보여준다. 대량으로 트럼프의 표를 바이든의 표로 옮기는 형태의 조작을 했다면 바이든의 산점도에서 뭔가 차이가 나타나야 할 것 같은데, 동일한 경향이다. 양쪽 후보 모두 비슷한 경향의 산점도를 보이므로 큰 문제가 없다는 것이다.

 

 

과연 이 주장은 맞는 말일까? 깊이 생각하지 않고 들으면 그럴듯할 수도 있겠다. 그런데, 조금 자세히 따져 보면 얘기는 달라진다.

미시건주의 어느 카운티에 속한 "a프리싱트"와 "z프리싱트"를 가정해 보자.

a프리싱트는 공화당 우세 지역이라서 정당투표에서 공화당 득표율이 80%가 나왔다. 트럼프 그래프에서 a프리싱트의 x축 위치는 80% 지점이 될 것이다. 그렇다면 바이든 그래프에서 a프리싱트의 x축 위치는 어디가 될까? 20% 지점이 된다.

z프리싱트는 민주당 우세 지역이라서 정당투표에서 공화당 득표율이 20%가 나왔다. 트럼프 그래프에서 z프리싱트의 x축 위치는 20%에, 바이든 그래프에서 z프리싱트의 x축 위치는 80% 지점이 된다.

즉, 트럼프 그래프와 바이든 그래프의 x축에서 특정 프리싱트에 해당하는 점은 서로 반대쪽 영역에 위치하게 된다.

이제 시바 아야두라이 박사가 제시한 가중경쟁 알고리즘(weighted race algorithm)을 적용해서 선거조작을 한다고 생각해 보자. a프리싱트는 공화당 우세지역이므로 대량의 트럼프 득표를 바이든으로 옮겼다. 이렇게 하면 정당 득표수에 비해서 트럼프 개인 득표수가 줄어들게 되므로 트럼프 그래프에서 a프리싱트에 대응하는 점은 y축 위치가 아래로 이동한다. x=80% 지점에 있던 a프리싱트 좌표의 y축값이 아래로 내려갔다.

그렇다면 바이든 그래프에서 a프리싱트에 대응하는 점은 어떻게 될까? 바이든 개인 득표수가 증가하므로 이 점의 y축 위치는 위로 이동한다. x=20% 지점에 있던 a프리싱트 좌표의 y축값이 위로 올라갔다.

z프리싱트는 민주당 우세 지역이라서 가중경쟁 알고리즘을 적용하지 않는다. 따라서 양쪽 그래프에서 z프리싱트에 대응하는 점의 위치는 변화하지 않는다. z프리싱트의 x축 위치는 트럼프 그래프에서 x=20%, 바이든 그래프에서 x=80% 지점이다.

 

 

조작을 적용하면 트럼프 그래프에서 x축값이 큰 점들은 y축값이 아래로 내려가고(감소하고), 바이든 그래프에서 x축값이 작은 점들은 y축값이 위로 올라간다(증가한다). 양쪽 후보의 그래프가 둘 다 선형 반비례 경향을 나타내는 것이다.

다수의 프리싱트에서 약속이나 한 것처럼 이런 일이 벌어지면, 이것은 정상이라고 얘기할 상황이 아니라 조작을 의심해야 할 상황이다. 양쪽 후보의 산점도 경향이 비슷하기 때문에 문제가 없는 것이 아니라, 가중경쟁 알고리즘으로 조작을 하면 당연히 양쪽 후보의 산점도 경향이 비슷하게 나타난다.

동영상 후반부에는 y축을 득표율의 차이가 아니라 개별후보투표 득표율로 정의하여 그래프를 그려서 보여준다.

 

 

이 산점도는 트럼프와 바이든 둘 다 선형 비례 경향을 보여주고 있다. 공화당 득표가 많은 프리싱트에서는 트럼프 득표율도 높고, 민주당 득표가 많은 프리싱트에서는 바이든 득표율이 높아서 당연히 비례 경향을 보이기 때문에 문제가 없다고 주장한다.

그런데, 아야두라이 박사가 제시한 가중경쟁 알고리즘은 양쪽 득표율의 정비례 관계 자체를 뒤집는 것이 아니다. 득표율 비례관계의 기울기를 바꾸는 것이다.

공화당 우세 프리싱트에서 트럼프 득표율을 낮추고 바이든 득표율을 높이므로, 트럼프 그래프에서 x축값이 큰 영역의 점들은 아래로 내려오고 바이든 그래프에서 x축값이 작은 영역의 점들은 위로 올라간다. 따라서 기울기는 0보다는 커서 비례 경향은 유지하지만 기울기값은 실제보다 낮아진다.

1차 함수 y=mx+b를 가지고 세로축을 y 대신 y-x로 그래프를 그리면 어떻게 될까?

 

 

y = mx+b
y-x = mx+b-x = (m-1)x+b

기울기 m이 1보다 작으면 음수(-)가 되어 반비례하는 경향이 나타난다. 가중경쟁 알고리즘에 의한 조작이 적용되면 비례관계의 기울기를 낮게 만들기 때문에 차이를 세로축으로 하여 그리면 반비례 경향도 그만큼 뚜렷해질 것이다.

 

 

설명은 "이러한 경향은 문제가 없으며 조작이 없다"는 식으로 하고 있지만, 조작이 없다고 단정하기엔 이르다. 게다가 민주당 절대우위 프리싱트가 잔뜩 몰려 있는 웨인 카운티(Wayne County)에서는 이러한 선형 반비례 경향이 아예 나타나지 않았다.

728x90
Posted by 반달가면
bash script2023. 5. 3. 11:23

 

반달가면 이글루에서 백업 - http://bahndal.egloos.com/568477

 

expect 스크립트를 이용하면 rsync 원격 백업을 자동화할 수 있다. 이 방법은 예전에 올렸던 ssh 자동 접속 방법과 같은 맥락이다. rsync에 대한 내용은 이전 게시물을 참고하자. 여기로

 

스크립트 이름은 auto_rsync.exp로 하고, 인자(argument)는 원천(source) 디렉토리, 원격주소, 백업 디렉토리, ssh 접속암호 순서로 지정한다고 하자. 예를 들어 /home/john/my_dir 디렉토리를 192.168.0.10의 john 계정에 있는 /home/john/my_backup 디렉토리로 백업한다고 하면 아래와 같이 실행하게 될 것이다. 접속암호는 my_password라고 가정하자.

expect -f auto_rsync.exp /home/john/my_dir john@192.168.0.10 /home/john/my_backup my_password

auto_rsync.exp 스크립트는 아래와 같이 구성할 수 있다.

# auto_rsync.exp
# 변수 할당
set src_dir [lindex $argv 0]
set remote_host [lindex $argv 1]
set dst_dir [lindex $argv 2]
set password [lindex $argv 3]
# rsync 실행
spawn rsync -r -v -z -u "$src_dir" "$remote_host:$dst_dir"
# 암호 입력 메세지 기다림
expect -nocase "password"
# 암호 전송
send "$password\r"
# 이후 작업 권한을 사용자에게 넘김
interact

위 스크립트가 동작하는 과정을 간단하게 설명하자면 아래와 같다.

우선 각 인자를 변수에 할당한다(set). 첫번째 인자는 src_dir, 두번째 인자는 remote_host, 세번째 인자는 dst_dir, 네번째 인자는 password에 할당.

rsync 명령을 실행한다(spawn).

이후 암호를 입력하라는 메세지를 기다렸다가(expect) 접속암호를 보낸다(send).

암호를 입력하고 나면 rsync에서 알아서 백업이 수행되므로 실행권한을 사용자에게 되돌린다(interact).

수동으로 백업을 한다면 굳이 위와 같은 스크립트를 이용할 필요가 없으나, 다수의 디렉토리를 백업할 때 편리하다. 아래의 예시를 보자.

echo "john@192.168.0.10의 접속 암호를 입력해 주세요."
read password
# /home/john 하위에 있는 my_dir_a, my_dir_b, my_dir_c 백업
for src_dir in my_dir_a my_dir_b my_dir_c
do
  expect -f auto_rsync.exp "/home/john/$src_dir" john@192.168.0.10 "/home/john/backup_dir/$src_dir" "$password"
done

read 명령으로 접속암호를 한번만 입력 받은 후, 세개의 디렉토리를 원격에 순차적으로 백업할 수 있다.

728x90
Posted by 반달가면
리눅스2023. 5. 3. 10:56

 

반달가면 이글루에서 백업 - http://bahndal.egloos.com/573664

 

imagemagick 패키지를 설치하면 리눅스에서 그림 파일 형식을 변환하거나 크기조정(resize)을 간단하게 수행할 수 있다. 이미지 편집 프로그램인 GIMP를 사용해도 되지만, 여러개의 파일에 대해 반복 작업을 해야 하는 경우엔 터미널창에서 명령어로 작업하는 것이 훨씬 빠르다.

우선 imagemagick 패키지를 설치하자. 터미널창에서 아래와 같이 입력. (데비안/우분투 기준이다.)

# S/W 저장소 갱신
sudo apt-get update
# imagemagick 설치
sudo apt-get install imagemagick

이제 convert 명령으로 그림 파일을 변환할 수 있다. 형식은 아래와 같다.

convert [입력 옵션] 입력파일 [출력 옵션] 출력파일

예를 들어 test.png 파일을 test.jpg 파일로 변환하고 싶다면 터미널창에서 아래와 같이 입력하면 된다.

convert test.png test.jpg

jpg 파일의 화질(quality)을 지정하려면 -quality 옵션을, 크기를 조정하려면 -resize 옵션을 추가해 준다. -quality 옵션의 화질 수준은 1(저화질)에서 100(고화질) 사이의 값으로 지정해 준다.

# test.png -> test.jpg 변환, 화질 95, 크기 800*600
convert test.png -quality 95 -resize 800x600 test.jpg

-resize 옵션을 사용할 때, 가로 세로 비율을 유지하면서 가로 또는 세로 하나의 값만 지정할 수도 있다. 아래의 예시를 보자.

# test.png -> test_resized.png, 가로 크기 500 픽셀
convert test.png -resize 500 test_resized.png

# test.png -> test_resized.png, 세로 크기 500 픽셀
convert test.png -resize x500 test_resized.png

컬러 이미지를 흑백으로 바꿀 수도 있다. 입력 옵션에서 컬러스페이스(colorspace)를 변경해 준다.

# test.png -> test_gray.jpg, 흑백(grayscale) 변환, 화질 95
convert -colorspace gray test.png -quality 95 test_gray.jpg

위와 같이 하면 결과 이미지가 상당히 어둡게 나오는데, 원래의 밝기를 유지하기 위해 -gamma 옵션을 추가하자.

# test.png -> test_gray.jpg, 흑백(grayscale) 변환, 화질 95, 밝기 조정
convert -colorspace gray -gamma 2.2 test.png -quality 95 test_gray.jpg

여러 페이지로 구성된 pdf 파일도 convert를 이용해서 그림 파일로 변환할 수 있다. 이전 게시물을 참고하자. 여기로

그 외에도 엄청나게 많은 기능들이 있는 것 같다. 자세한 내용은 man 페이지를 참고해야 할 듯.

man convert

for 반복문과 조합하면 여러개의 이미지를 한꺼번에 변환할 수 있다. ~/pictures 디렉토리에 있는 모든 png 파일을 가로가 800 픽셀인 jpg 파일로 변환하는 경우를 생각해 보자. 아래와 같이 간단한 스크립트를 만들면 된다.

# ~/pictures 디렉토리로 이동
cd ~/pictures
# for 반복문
for file in `ls | grep "\.png$"`
do
  # 확장자(png)를 jpg로 바꾼 형태를 결과파일명 변수 result_file에 할당
  result_file=`echo "$file" | sed 's/\.png$/\.jpg/'`
  # 이미지 변환  (png -> jpg)
  convert $file -quality 95 -resize 800 $result_file
done

ls 명령의 결과에서 .png로 끝나는 것만 grep 명령으로 추려낸 것을 for 반복문에 적용해서 변수 file에 할당한다. 결과 파일명은 sed 명령을 이용해서 입력 파일명의 확장자만 변경한 형태로 만들어서 변수 result_file에 할당했다. (sed 명령을 이용한 문자열 대체는 이전 게시물을 참고하자. 여기로)

 

 

728x90
Posted by 반달가면