Wednesday, September 16, 2015

Хуучин ном материал дахь график зургийг шинэчлэх, графикаас тоон өгөгдөл авах /Extract data from scanned graph and image/

Хуучин ном материал дахь график зургийг шинэчлэх, графикаас тоон өгөгдөл авах


Яаж хар графикаа өнгөт болгох вэ? Яаж хуучин графикыг бодт тоон өгөгдөлтэй нь сэргээн зурах вэ? Яаж өөрийнхөө үр дүнг бусдын графиктай харьцуулж харуулах вэ? Иймэрхүү асуудалтай тулгардаг бол сайн байна. 

Хуучны ном сэтгүүл ямар файлаар байх бишдээ. Файлаар байлаа ч уг график яг ямар тоон өгөгдөлөөр байгуулагдсан эсэх нь үл мэдэгдэх маш олон графикийг бид янз бүрийн байдлаар ашиглах шаардлага гардаг. Жишээ нь:

Энэхүү график Рейнольдсын тоо 100 үед квадрат саад тойрч урсах урсгалын хэвтээ тэнхэгийн дагуух хурдны профайлыг харуулсан график юм. Энэ графикийг нэг илтгэлээс сканнердаж авсан ба өөрийн тооцооны үр дүнгээ харьцуулж харахын тулд уг графиктай цуг нэг график болгон зурах шаардлага гарч байгаа юм. Иймэрхүү ажлыг урьд өмнө нь AutoCad дээр л хийдэг байлаа. Кадруу оруулж байгаад масштаблаж янзалж байгаад цэгүүдийг координат түүдэг. Энэ боломжийн арга боловч цаг маш их шаарддаг. Харин үүнийг хийхэд зориулсан хэд хэдэн арга чарга програм хангамж байгааг илрүүлвээ. Дараах хоёр програм ашиглахад энгийн бас хялбар юм.
Би Флотдижитайзерийг нь суулгаваа. Ашиглахад их хялбархан байх учир хэдэн өгүүлбэрээр тайлбарлая. Ашиглах гэж байгаа графикаа зургын өргөтгөлтэй хадгалсан бол шууд нээгээд оруулаад ирнэ. Оруулаад ирэнгүүт графикийн тооллын эхийг курсороороо цэглэх шаардлагатай. Цэглээд х ба у тэнхлэгийн тооллын эх эхэлж байгаа тоог оруулна. Жишээ нь дээд графикийн хувьд тооллын эх нь -10, -0.2 гэсэн тоонууд байна. Үүний дараа хэвтээ тэнхлэгийн хамгийн адгийн цэгийг цэглэж координатыг мөн оруулна. Манай жишээнд 20 байна. Үүнтэй адил босоо тэнхлэг дахь адгийн цэгийг хатгана. Манайх 1.2 байна. Энэ зуур хэвтээ ба босоо тэнхлэгийн нэрийг асуух цонх гарч ирэх байх. Түүн дээр нь зохих нэрнүүдийг нь хайрлаарай. За жишээ болгон хэдэн дэлгэцийн зургийг харъя.
Энэ эхний жишээ зургийнх

Энэ босоо хурдных

хэвтээ тэнхлэгийн хамгийн их координатыг оруулж байна.

Босоо тэнхлэгийн хамгийн адгын утга

Графикаа давхарлан мэдээний цэгүүдийг хатгаж байна.

Босоо хэвтээ тэнхлэгийн координатуудыг өгсөний дараа шууд график дээрээ давхарлаж хэрэгтэй гэсэн цэгүүдийн мэдээллийг авна. Графикийг сэргээж дахин өнгө будагтай босгомоор байгаа бол маш ойрхон ойрхон цэгүүдийг хатгаад явах хэрэгтэй. Цэгүүдийг хатгаж дууссан бол дээд хэсэгт байгаа done товчих дээр дарахад бүх цэгүүдийн өгөгдөлүүд гарч ирэх болно. Түүнийгээ эксэл юм уу өөрийн график болгодог програмынхаа өргөтгөлөөр хадгалаад цаашаа явна даа. Дээрх хоёр зургаар хийсэн графикийг харах уу?




Ийм л болсон байна дааа. Эхний хэсэгт байгаа цэнхэр үргэлжилсэн зураас болон дөрвөлжин яагаан цэгээр тэмдэглэгдсэн нь миний тооцооны үр дүн үлдсэн хоёр нь дээд хуучин хар графикны өгөгдлөөр зурагдсан гэдгийг санаарай. Дараачийн хэсэгт байх графикт улаан ба ногоон нь дээрх хар графикийнх цэнхэр нь миний үр дүн болно. Энэ графикийг Нюфлотын тусламжтайгаар босгосон ба дараах кодыг ашиглана шүү. 


1: # this script for velocity comparison of reference
2: # multiple plot on horizontal and verticals
4: set term pngcairo mono enhanced size 1000,500
3: reset 5: set output 'vel100.png'
9: set key box opaque
6: set multiplot layout 1,2 7: set tmargin 2 8: #
11: set key right bottom
10: set title 'Horizontal conponent of velocity' 12: set obj 4 rect at 0,0 size 1.0,0.15
15: plot 'FV.dat' w lp ti 'FVM ref. [9]', \
13: set xlabel 'Relative length of channel (x/D)' 14: set ylabel 'Relative velocity (u/uo)' 16: 'LB.dat' w lp ti 'LBM ref. [9]', \
20: set title 'Vertical conponent of velocity'
17: 'uvelx.dat' u 1:2 w l lw 2 ti 'ExLBM', \ 18: 'uvelxLBM.dat' u 1:2 w p ti 'StLBM' 19: # 21: set key right bottom 22: set obj 4 rect at 0,0 size 1.0,0.15
27: 'vvelx.dat' u 1:2 w l lw 2 ti 'Present study'
23: set xlabel 'Relative length of channel (x/D)' 24: set ylabel 'Relative velocity (v)' 25: plot 'FVv.dat' w lp ti 'FVM ref. [5]', \ 26: 'LBv.dat' w lp ti 'LBM ref. [5]', \ 28: unset multiplot
30: unset output
29: set term win

Энэ кодыг текст засварлагч дээр хуулаад *****.p гэсэн өргөтгөлтэй хадгалаад ашиглах гэж байгаа бүх тоон мэдээллүүдтэй хатсан дотроо Нюфлотынхоо терминалыг чиглүүлж байгаад ачаална даа. Зургаар харвал:

Нюплотын өмннөх цувралуудыг доорх замаар үзээрэй. Энэ бол маш хялбархан ашиглууштай програмуудын нэг юм. Коммандын мөрөөр ажиллуулдаг нь л жаахан хүнд юм.

Ялангуяа багш оюутан судлаачидад зайлшгүй хэрэгтэй хэрэгсэлийн нэг нь энэхүү графикаас тоон мэдээлэл түүгч байх ёстой. Шинэ ном бичихдээ хуучин графикаа өнгөт болгож зурах, тод графиктай болох, курсын төсөлдөө лавлах материалаас график оруулахдаа өөрийн болгож оруулах, судлаач өөрийнхөө үр дүнг бусдын үр дүнтэй яг нэг талбарт харьцуулж харуулах гэх мэт маш олон ажилбарт хэрэглэгдэнэ. 

2 comments:

  1. Дандаа хэрэгтэй мэдээлэл түгээдэгт баярлалаа

    ReplyDelete
    Replies
    1. Өө баярлалаа. Хэрэг болж байвал боллоо.

      Delete