• Тасвир типи (Macro) Тасвир пиксел типи
  • Функция Таърифи
  • 3. OpenCV да чизиш
  • Структура Ўз ичига олади




    Download 10.26 Mb.
    bet53/65
    Sana30.11.2022
    Hajmi10.26 Mb.
    #32404
    1   ...   49   50   51   52   53   54   55   56   ...   65
    Bog'liq
    Tasvirlarlarga raqamli ishlov berish-Ma\'ruzalar
    1-Mavzu O'z.t.soh.o'rg.TAQDIMOTI(1) (1), 70ea5d59-6c32-4036-abc3-ce4f3337304d, СОВРЕМЕННЫЕ МЕТОДЫ ПРОДАЖИ ГОСТИНИЧНЫХ УСЛУГ, kurs ishi, So\'rovnoma1-ilova, Kichik yosh guruhlarda jismoniy tarbiya mashg’ulot ishlanma, Kiber huquqdan 2 va 3 praktik
    Структура

    Ўз ичига олади

    Ифодалайди

    CvPoint

    int x, y

    Тасвирдаги нуқта

    CvPoint2D32f

    float x, y

    R2 даги нуқта

    CvPoint3D32f

    float x, y, z

    R3 даги нуқта

    CvSize

    int width, height

    Тасвир ҳажми

    CvRect

    int x, y, width, height

    Тасвир бўлаги (қисми)

    CvScalar

    double val[4]

    RGBA қийматлар

    Масалан, myImg тасвирида чап юқори бурчаги (5, 10), яъни х=5, y=10 ва ўнг қуйи бурчаги (20, 30) координатали тўртбурчакни оқ рангда чизиш учун қуйидагича дастур кодини ёзиш керак бўлади:


    cvRectangle( myImg, cvPoint(5,10), cvPoint(20,30), cvScalar(255,255,255) );


    OpenCV да қуйидагича тасвир турлари мавжуд:





    Тасвир типи (Macro)



    Тасвир пиксел типи

    IPL_DEPTH_8U

    Unsigned 8-bit integer (8u)

    IPL_DEPTH_8S

    Signed 8-bit integer (8s)

    IPL_DEPTH_16S

    Signed 16-bit integer (16s)

    PL_DEPTH_32S

    Signed 32-bit integer (32s)

    IPL_DEPTH_32F

    32-bit fl oating-point single-precision (32f)

    IPL_DEPTH_64F

    64-bit fl oating-point double-precision (64f)

    Қуйидаги жадвалда матрица ва тасвирнинг асосий операторлари келтирилган.





    Функция

    Таърифи

    cvAbs

    Массив (матрица) даги барча элементларнинг абсолют қиймати

    cvAbsDiff

    Иккита массив ўртасидаги фарқларнинг абсолют қиймати

    cvAbsDiffS

    Массив ва скаляр ўртасидаги фарқларнинг абсолют қиймати

    cvAdd

    Иккита массивни элементлари бўйича қўшиш

    cvAddS

    Массив ва скалярни элементлари бўйича қўшиш

    cvAddWeighted



    Иккита массивни элементлари бўйича вазн (вес)ли қўшиш (алфа қориштириш)

    cvAvg

    Массивдаги барча элементларнинг ўртача қиймати

    cvAvgSdv

    Массивдаги барча элементларнинг абсолют қиймати ва стандарт четлашиши

    cvCalcCovarMatrix

    n-ўлчовли вектор тўпламининг ковариансини ҳисоблаш

    cvCmp



    Иккита массивнинг барча элементларига танланган таққослаш операторини қўллаш.

    cvCmpS

    Скалярга нисбатан массивга танланган таққослаш операторини қўллаш.

    cvConvertScale

    Қийматнинг танловли қайта ўлчови орқали массив типини ўзгартириш.

    cvConvertScaleAbs



    Танловли қайта ўлчов орқали абсолют қийматдан кейин массив типини ўзгартириш.

    cvCopy

    Бир массивдаги элементларни бошқасига нусхалаш.

    cvCountNonZero

    Массивдаги нолга тенг бўлмаган элементларни ҳисоблаш.

    cvCrossProduct

    Уч ўлчовли иккита векторни кўпайтириш.

    cvCvtColor

    Массив ранг каналларини бир ранг фазосидан бошқасига ўзгартириш (алмаштириш).

    cvDet

    Квадрат матрицанинг детерминантини ҳисоблаш

    cvDiv

    Элементлар бўйича бир массивни бошқасига бўлиш.

    cvDotProduct

    Иккита векторни скаляр (ички) кўпайтириш.

    cvEigenVV

    Квадрат матрицанинг хос сон ва хос векторларини ҳисоблаш

    cvFlip

    Танланган ўқ бўйича массивни тўнтариш (ойнали намойиш қилиш).

    cvGEMM

    Умумлашган матрица кўпайтириш.

    cvGetCol

    Массивнинг устун кесимидан элементларни нусхалаш

    cvGetCols

    Массивнинг турли қўшни устунларидан элементларни нусхалаш.

    cvGetDiag

    Диагонал бўйича массив элементларини нусхалаш.

    cvGetDims

    Массив ўлчамини қайтаради.

    cvGetDimSize

    Массивнинг барча ўлчамлари ҳажмини қайтаради.

    cvGetRow

    Массивнинг қатор кесимидан элементларни нусхалаш

    cvGetRows

    Массивнинг турли қўшни қаторларидан элементларни нусхалаш.

    cvGetSize

    Икки ўлчовли массив ҳажмини олиш ва уни CvSize шаклида қайтариш.

    cvGetSubRect

    Массив бир бўлаги элементларини нусхалаш.

    cvInRange

    Массив элементини бошқа иккита массив қийматлари ичида мавжудлигини текшириш.

    cvInRangeS

    Массив элементини бошқа иккита скаляр ўртасида мавжудлигини текшириш.

    cvInvert

    Квадрат матрицани инвертлаш (барча элемент қийматлари 255 дан айрилади).

    cvMahalonobis

    Иккита вектор орасидаги Махалонобис масофасини ҳисоблаш.

    cvMax

    Иккита массивнинг элементлари бўйича махсимумлар операцияси.

    cvMaxS

    Массив ва скаляр ўртасидаэлементлари бўйича махсимумлар операцияси.

    cvMerge



    Бир нечта бир каналли тасвирларни битта кўп каналли тасвирга бирлаштириш.

    cvMin



    Иккита матрицада элементлар бўйича минимумлар операцияси

    cvMinS



    Массив ва скаляр ўртасида элементлар бўйича минимумлар операцияси

    cvMinMaxLoc

    Массивда минимум ва максимум қийматларни топиш.

    cvMul

    Иккита массивни элементлар бўйича кўпайтириш.

    cvNot

    Массивни ҳар бир элементини битли инвертлаш.

    cvNorm

    Иккита массив ўртасидаги нормаланган корреляцияни ҳисоблаш.

    cvNormalize

    Массивдаги элементларни бирор сонгача номаллаш.

    cvOr

    Иккита массивнинг элементлари бўйича “ЁКИ” (OR) бит-даражаси.

    cvOrS

    Массив ва скалярнинг элементлари бўйича “ЁКИ” (OR)бит-даражаси.

    cvReduce

    Берилган амал бўйича икки ўлчовли массивни векторга айлантирмоқ.

    cvRepeat

    Бир массив мажмуини бошқасига қуриш.

    cvSet

    Массивнинг барча элементларига берилган сон қийматини ўрнатиш.

    cvSetZero

    Массивнинг барча элементларига 0 қиймати ўрнатилади (берилади).

    cvSetIdentity



    Массивнинг барча элементларига диагонал бўйича 1, қолганига эса 0 қиймати берилади.

    cvSolve

    Чизиқли тенгламалар системасини ечиш.

    cvSplit

    Кўп каналли массивни турли бир каналли массивларга бўлиш.

    cvSub

    Бир массивдан иккинчисини элементлар бўйича айириш.

    cvSubS

    Скалярни массивдан элементлар бўйича айириш.

    cvSubRS

    Массивни скалярдан элементлар бўйича айириш.

    cvSum

    Массивни барча элементлари суммаси (йиғиндиси).

    cvSVD

    Икки ўлчовли массивнинг ягона бўлиниш қийматини ҳисоблаш.

    cvSVBkSb

    Тескари алмаштиришнинг ягона қийматини ҳисоблаш.

    cvTrace

    Массив белгиларини ҳисоблаш.

    cvTranspose

    Массивнинг барча элементларини диагонал бўйича ўзгартириш.

    cvXor

    Иккита массив элементлари бўйича XOR (истисно ЁКИ) бит – даражаси.

    cvXorS

    Массив ва скаляр ўртасидаги массив элементлари бўйича XOR бит – даражаси.

    cvZero

    Массивнинг барча элементларига 0 қиймати берилади.

    3. OpenCV да чизиш

    Баъзан тасвир устида бирор фигурани чизиш керак бўлиб қолади. OpenCV да тўғри чизиқ, тўртбурчак, айлана ва шу каби геометрик фигураларни чизиш функциялари мавжуд. Улар билан қуйида танишамиз.




    Тўғри чизиқ:
    void cvLine( CvArr* array, CvPoint pt1, CvPoint pt2, CvScalar color,
    int thickness = 1, int connectivity = 8 );
    Бу ерда CvArr – тасвир, pt1 – чизиқнинг бошланиш координатаси, pt2 – чизиқнинг якунланиш координатаси, color – чизиқ ранги, thickness – чизиқ қалинлиги, connectivity – чизиқ тури.


    Тўғри тўртбурчак:
    void cvRectangle( CvArr* array, CvPoint pt1, CvPoint pt2, CvScalar color, int thickness = 1 );


    Айлана:
    void cvCircle (CvArr* array, CvPoint center, int radius, CvScalar color, int thickness = 1, int connectivity = 8);
    Бу ерда center – айлана маркази, radius – айлана радиуси.


    Эллипс:
    void cvEllipse( CvArr* img, CvPoint center, CvSize axes, double angle,
    double start_angle, double end_angle, CvScalar color,
    int thickness = 1, int line_type = 8 );
    Бу ерда axes – ўқ ҳажми, start_angle – бошланғич бурчак, end_angle – охирги бурчак.


    Полигонлар:
    Полигонларни қуйидаги уч хил функция ёрдамида чизиш мумкин.
    void cvFillPoly( CvArr* img, CvPoint** pts, int* npts, int contours, CvScalar color, int line_type = 8 );

    void cvFillConvexPoly( CvArr* img, CvPoint* pts, int npts, CvScalar color, int line_type = 8 );


    void cvPolyLine( CvArr* img, CvPoint** pts, int* npts, int contours, int is_closed,


    CvScalar color, int thickness = 1, int line_type = 8 );


    Матнлар:
    void cvPutText( CvArr* img, const char* text, CvPoint origin, const CvFont* font, CvScalar color );

    Download 10.26 Mb.
    1   ...   49   50   51   52   53   54   55   56   ...   65




    Download 10.26 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Структура Ўз ичига олади

    Download 10.26 Mb.