기본 콘텐츠로 건너뛰기

python log - opencv

opencv 를 프로젝트 때문에 사용

opencv 자체는
apt-get install python-opencv
만 하면 되니 간편

OS X에선
brew tap homebrew/science
brew install opencv
로 설치하고 심볼릭 링크를 꼭 만들어줘야함.
cd /Library/Python/2.7/site-packages 후
ln -s /usr/local/Cellar/opencv/2.4.12/lib/python2.7/site-packages/cv.py cv.py
ln -s /usr/local/Cellar/opencv/2.4.12/lib/python2.7/site-packages/cv2.so cv2.so

내 경우는 이렇게 opencv 버전에 따라 2.4.12 대신 다른 걸 사용할 수 있다.

libdc1394 error: Failed to initialize libdc1394

이런 오류가 발생할 수 있는데
http://stackoverflow.com/questions/12689304/ctypes-error-libdc1394-error-failed-to-initialize-libdc1394

여기 내용을 보고
sudo ln /dev/null /dev/raw1394

1394 관련 내용 추가

sudo apt-get install python-pip

로 pip 도 설치. orangepi 기준으론 시간이 좀 걸림 ( https://www.raspberrypi.org/documentation/linux/software/python.md ) 참조.

http://www.slideshare.net/arload/flask-restful-api
Stack을 줄이기 위해 사용해야하는 기존 엔진을 직접 flask로 웹서버화 할까도 생각 중


ImportError: No module named stasm 오류 난다.
Pystasm도 설치

pip install PyStasm

설치 중 오류난다.

src/stasm.h:33:30: fatal error: opencv2/opencv.hpp: No such file or directory

슬슬 괴롭다.
얘는 뭐 자료도 없고 stasm 뭐니. 
http://www.milbo.users.sonic.net/stasm/ 에서 tar.gz을 받고

https://github.com/alyssaq/stasm_build 따라서 빌드했더니

➜  stasm4.1.0  ./build/stasm_util -s -f data ../test_img/JH0516.jpg
뭐 이런건 잘 나옴.
...
499 671
474 681
446 685
418 682
394 674
x,y만 좌륵 나오고 친절하게 점까지 찍어준다


sklearn 추가.
sudo apt-get install python-sklearn  

OSX)
brew install scipy



pip install scikit-learn
답답해서 egg 파일 추가 PyStasm-0.3.0-py2.7-linux-x86_64.egg 를 다운받아 easy_install PyStasm-0.3.0-py2.7-linux-x86_64.egg 로 설치

ImportError: libopencv_core.so.3.0: cannot open shared object file: No such file or directory

이번엔 호환이 안된다.
sudo ldconfig -v | grep opencv_core


libopencv_core.so.2.4 -> libopencv_core.so.2.4.8

현재 버전이 3.0 이 아니다.
cmake 부터 받고

opencv 3.0 도 받자.

cmake 하고
make
sudo make install
sudo ldconfig
까지
OS X에선 실패했다.

근데 이번엔 numpy 쪽 오류
정확하게 이 증상.
답변자 말대로 하면 안되고
sudo apt-get remove python-joblib
sudo apt-get remove python-sklearn
설치 후 
pip install -U scikit-learn
하니 된다.

거의 다 되었다 싶은데 이젠
AttributeError: 'module' object has no attribute 'CV_LOAD_IMAGE_COLOR'

이 오류가;;
보니까 소스를 고쳐야겠다.

    targetImage = cv2.imread(fileName, cv2.CV_LOAD_IMAGE_COLOR)

이 부분을 이렇게
    targetImage = cv2.imread(fileName, cv2.IMREAD_COLOR)

고치니 일단 작동은 한다.
솔직히 속도는 한심하다.

이 블로그의 인기 게시물

Mac 주의 - 약간 빡치는 git 대소문자 변환 파일명 변환(renaming)하는 법

Mac에서 종종 화나는 일 중 하나가 파일 시스템이 대소문자를 구분하지 않는 점이다.
가령, A.png를 a.png로 바꿔야할 경우 HFS 기준으론 전혀 바뀐 점이 없는 걸로 인식하는데 다소 화가난다.
하지만, 방법이 없는 것은 아닌데

A.png를 임의의 다른 파일로 바꾼다. (ex. A_.png)1에서 바꾼 상태에서 staging 한다. (git add A_.png)1의 파일을 다시 원래 바꾸려고 했던 파일로 바꾼다. (mv A_.png a.png)3을 다시 staging 한다. (git add a.png)commit 한다.https://stackoverflow.com/a/40307511/880991 에서 답변해준 Chris Barr 님에게 감사를.
* 추가

실제로 해보니 git mv --force A.png a.png 가 더 간단하다. 이는 바로 staging 영역에 add까지 해준다.

graphql 연습 /w launchpad

https://launchpad.graphql.com/mw9wkzv99
단순 전체쿼리+조건쿼리+추가

http://graphql.org/graphql-js/passing-arguments/
참고. random ID는 crypto 1.0.1 사용
  type Query {
    Members: [member]
    getMember(id: ID!): member
  }
  type member {
    id: ID!
    text: String
  }
  input memberInput {
    text: String
  }
  type Mutation {
    addMember(member: memberInput): member
  } SQL 정의. facebook 쪽은 스트링에 지지는 거 진짜 좋아하네. *.gql 파일이 있다고 하니 이해해주자.
resolver는 var buffer = [];
const resolvers = {
  Query: {
    Members: (root, args, context) => {
      return buffer;
    },
    getMember: (id)=> {
      return buffer.find(o=>o.id)
    }
  },
  Mutation: {
    addMember(_, {member}) {
      const mm = { ...member, id:randomBytes(10).toString('hex') };
      buffer.push(mm);
      return mm;
    }
  }
}; 평범 평범.
https://dev-blog.apollodata.com/tutorial-graphql-subscriptions-server-side-e51c32dc2951 다음으로 pub/sub 연습.
https://launchpad.graphql.com/xvn94n3ql   type Subscription {
    memberAdded: member
  } member가 added되는 순간을 감시. imp…

즐거운 Online Prototyping Tool 들

jsbin, codepen, jsfiddle 이런 것들은 일단 생략. 너무 유명한 것들이라.

https://launchpad.graphql.com - node.js 기반 graphQL 연습장. 이것만으로도 충분히 훌륭한 백엔드
https://codesandbox.io/ npm 사용이 가능한 클라이언트 사이드 연습장. webpackbin이 너무 문제가 많아서 찾아본 것.

https://scrimba.com 이건 codesandbox+ asciinema(https://asciinema.org/) 같은 느낌인데 키 녹화와 음성 녹화 기능이 추가되었다. 다 좋은데 화살표 키로 빨리감기 뒤로감기 기능이 안되고 익스포트(youtube등)으로 지원이 없는게 아쉽다.

이 둘이 만나면? https://codesandbox.io/s/jvlrl98xw3?from-embed
뭐야 이거 무서워 하지마 ㄷㄷ;  graphql+react-native-web(부왘ㅋㅋ)

https://repl.it/languages 전통을 자랑하는 REPL 도구. 지원 언어 종류가 -_-;;;;;

https://tio.run/# repl.it? 장난함? 얘는 지원 언어가 무려 386종류. J랑 아희도 있다.

https://play.golang.org/ 즐거운 go playground. 소스 포멧팅 넘 좋아.

http://decaffeinate-project.org/repl/ 최고의 coffeescript REPL. 원래 용도는 coffee를 ecma6코드로 바꾸는 것이지만...

https://scaphold.io
https://www.graph.cool/ graphql backend service. scaphold.io는 설치도 필요없는 클라우드. graphcool은 호스팅+클라우드 다있음. 둘 다 막상막하. 푸쉬서버도 되고 뭐 미친득.

https://glitch.com/ gomix에서 결국 glitch로 안착.  node.js

https://www.shadertoy.com 잘하고 싶다! 쉐이다! 오디오도 된다!

http:/…