Hyunjun

chrome crwaling program

1 -1. 계획서 업로드 [강현준, 권은진, 김효은, 하미르] 라즈베리파이에 이미지 프로세싱 딥러닝을 적용한 자동화 계산 시스템 1 +1. 계획서 업로드
2 2
3 +[강현준, 권은진, 김효은, 하미르] 라즈베리파이에 이미지 프로세싱 딥러닝을 적용한 자동화 계산 시스템
3 4
4 -2. 중간보고서(논문) 업로드 [강현준, 권은진, 김효은, 하미르] 이미지 인식 딥러닝을 적용한 자동화 계산 시스템_중간보고서(논문) 5 +
6 +2. 중간보고서(논문) 업로드
7 +
8 +[강현준, 권은진, 김효은, 하미르] 이미지 인식 딥러닝을 적용한 자동화 계산 시스템_중간보고서(논문)
5 9
6 10
7 3. simple_convnet 원본코드 업로드 11 3. simple_convnet 원본코드 업로드
8 12
9 13
10 4. params.pkl->params.csv 14 4. params.pkl->params.csv
15 +
11 프로그램의 속도보장을 위해 python->c++ 컨버팅 작업이 필요함 16 프로그램의 속도보장을 위해 python->c++ 컨버팅 작업이 필요함
12 python 코드에서 가중치를 pickle 파일에 저장하는데 c++에서는 pickle 파일을 읽는 데에 어려움이 있음 17 python 코드에서 가중치를 pickle 파일에 저장하는데 c++에서는 pickle 파일을 읽는 데에 어려움이 있음
13 pickletools라는 라이브러리가 있지만 에러가 많고, 자바, 파이썬, C++ 여러 언어를 지원해 무겁기 때문에 속도를 올리기 위한 컨버팅 작업에는 적절하지 않음 18 pickletools라는 라이브러리가 있지만 에러가 많고, 자바, 파이썬, C++ 여러 언어를 지원해 무겁기 때문에 속도를 올리기 위한 컨버팅 작업에는 적절하지 않음
...@@ -15,23 +20,28 @@ pickletools라는 라이브러리가 있지만 에러가 많고, 자바, 파이썬, C++ 여러 언어를 ...@@ -15,23 +20,28 @@ pickletools라는 라이브러리가 있지만 에러가 많고, 자바, 파이썬, C++ 여러 언어를
15 20
16 21
17 5. params.pkl->params.txt 22 5. params.pkl->params.txt
23 +
18 입력처리할 때 csv파일로 읽으면 속도가 느림 24 입력처리할 때 csv파일로 읽으면 속도가 느림
19 이 또한 속도를 올리기 위한 컨버팅 작업의 목적에 맞지 않기 때문에 params.pkl 파일을 csv 파일이 아닌 txt 파일로 바꿈 25 이 또한 속도를 올리기 위한 컨버팅 작업의 목적에 맞지 않기 때문에 params.pkl 파일을 csv 파일이 아닌 txt 파일로 바꿈
20 26
21 27
22 6. python test 코드 추가 28 6. python test 코드 추가
29 +
23 test하는 부분만 골라내기 위해 python test 코드를 추가(test.py), simple_convnet 내용 추가 30 test하는 부분만 골라내기 위해 python test 코드를 추가(test.py), simple_convnet 내용 추가
24 31
25 32
26 7. python test 폴더 추가 33 7. python test 폴더 추가
34 +
27 python test 폴더에는 test에 필요하지 않은 train 부분을 삭제함 35 python test 폴더에는 test에 필요하지 않은 train 부분을 삭제함
28 36
29 37
30 8. make_img.py 추가 38 8. make_img.py 추가
39 +
31 이미지를 불러와 (32,32,3)의 크기로 resize한 후 input.txt에 저장함 40 이미지를 불러와 (32,32,3)의 크기로 resize한 후 input.txt에 저장함
32 41
33 42
34 9. simple_convnet_cpp 코드 추가 43 9. simple_convnet_cpp 코드 추가
44 +
35 1) layers.hpp : Convolution, ReLu, Normalization, Pooling, DW_Conv등 각 layer가 구현 45 1) layers.hpp : Convolution, ReLu, Normalization, Pooling, DW_Conv등 각 layer가 구현
36 2) SimpleConvNet.hpp : 딥러닝 모델이 구현 46 2) SimpleConvNet.hpp : 딥러닝 모델이 구현
37 3) input.txt : make_img.py코드로 만든 이미지를 (32,32,3)의 크기로 만들어 txt파일로 저장 47 3) input.txt : make_img.py코드로 만든 이미지를 (32,32,3)의 크기로 만들어 txt파일로 저장
...@@ -45,3 +55,10 @@ python test 폴더에는 test에 필요하지 않은 train 부분을 삭제함 ...@@ -45,3 +55,10 @@ python test 폴더에는 test에 필요하지 않은 train 부분을 삭제함
45 10. google_image_crwaling 코드 추가 55 10. google_image_crwaling 코드 추가
46 56
47 필요한 데이터셋을 만들기 위한 google_image_crwaling 코드 추가 57 필요한 데이터셋을 만들기 위한 google_image_crwaling 코드 추가
58 +
59 +
60 +11. chrome_crwaling 확장프로그램 추가
61 +
62 +앞서 만든 코드는 1회에 20장의 사진만 다운로드 가능
63 +데이터셋을 만들기 위해서는 훨씬 더 방대한 양의 데이터가 필요함
64 +googel chrome의 확장프로그램을 활용한 구글 이미지 검색 결과 크롤링 프로그램 구현
...\ No newline at end of file ...\ No newline at end of file
......
This diff could not be displayed because it is too large.
1 +{
2 + "name": "Highlight some phrases",
3 + "description": "Hightlight some pre defined text from websql database after page loads",
4 + "version": "0.1",
5 + "manifest_version": 2,
6 + "browser_action": {
7 + "default_icon": "icon.png"
8 + },
9 +
10 + "content_scripts": [
11 + {
12 + "matches": [
13 + "http://*/*",
14 + "https://*/*"
15 + ],
16 + "js": ["jquery.js", "popup.js"]
17 +
18 + }
19 + ]
20 +}
...\ No newline at end of file ...\ No newline at end of file
1 +
2 +var i = 0;
3 +var start = false;
4 +function imgDown() {
5 + if(!start)
6 + return;
7 + var base64 = $('.rg_ic.rg_i').eq(i).attr( 'src' );
8 + if(typeof base64 === "undefined" ){
9 + alert('마지막 결과입니다.');
10 + clearInterval(b);
11 + start = false;
12 + return;
13 + }
14 + if(base64.indexOf("base64") != -1)
15 + downBase64(i+".png",base64);
16 + else
17 + downUrl(i+".png",base64);
18 + i++;
19 +}
20 +function scrolldn() {
21 + if(!start){
22 + clearInterval(a);
23 + return;
24 + }
25 + document.documentElement.scrollTop = document.body.scrollHeight;
26 + $('html, body').scrollTop(document.body.scrollHeight);
27 +}
28 +function downBase64(filename, base64) {
29 + var pom = document.createElement('a');
30 + pom.setAttribute('href', base64)
31 + pom.setAttribute('download', filename);
32 + if (document.createEvent) {
33 + var event = document.createEvent('MouseEvents');
34 + event.initEvent('click', true, true);
35 + pom.dispatchEvent(event);
36 + }
37 + else {
38 + pom.click();
39 + }
40 +}
41 +
42 +function downUrl(filename, url) {
43 + var img = new Image();
44 + img.setAttribute('crossOrigin', 'anonymous');
45 + img.src = url;
46 + var dataURL = url;
47 + img.onload = function () {
48 + var canvas = document.createElement("canvas");
49 + canvas.width =this.width;
50 + canvas.height =this.height;
51 +
52 + var ctx = canvas.getContext("2d");
53 + ctx.drawImage(this, 0, 0);
54 + dataURL = canvas.toDataURL("image/png");
55 + downBase64(filename, dataURL);
56 + };
57 +}
58 +
59 +var a;
60 +var b;
61 +window.onkeyup = function(e) {
62 + var key = e.keyCode ? e.keyCode : e.which;
63 + if (key == 49) {
64 + start = true;
65 + a = setInterval(scrolldn, 1000);
66 + b = setInterval(imgDown, 100);
67 + }
68 + if (key == 50) {
69 + start = true;
70 + alert('일시정지! 다운받던이미지부터진행함 -> 다시1누르면됨');
71 + clearInterval(a);
72 + clearInterval(b);
73 + }
74 +}
75 +
76 +
...\ No newline at end of file ...\ No newline at end of file
1 +Chrome
2 +1. 확장프로그램 개발자 모드 ON
3 +2. 압축해제된 확장 프로그램 로드
4 +3. Chrome Crwaling 폴더 선택
5 +4. 오른쪽 위에 경희대학교 마크가 뜸
6 +5. 1을 누르면 다운로드 2를 누르면 정지
...\ No newline at end of file ...\ No newline at end of file