opencv-doc-4.9.0-150600.3.2.1<>, gp9|)Nv/ [B0kBc2x|Ս(mUʸg)C;eȮ-8gꃇR'ied JOc{vM v&i"#}߲P~ έDr@X0xdDju=hWfzO;L{$JvCOmS %1X.2:ؼH  .޿7жAs"*x)M6.͖1 3ObhO,EoZT>A?d   F -3< T  ` l  J Ph o(8@9@:@BFGHIXYZ$[(\0]H^}b!cdKePfSlUuhvXz6HLY\`fCopencv-doc4.9.0150600.3.2.1Documentation and examples for OpenCVThis package contains the documentation and examples for the OpenCV library.gh01-ch2cSUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Documentation/Otherhttps://opencv.org/linuxnoarch  $<&0a t B8[%rh9t   8X%|S;") .&s'$&I4#   dE`d  G m)( OSWAF*f 5 z "62 R*C +(cGcI* [8% ",6 νHʴ(z7f0ZlC DTqn&jAڜ}w]mosqb>pGortpjlledml sf6k uUĆg>K9:& t3he=?]ijo^flo ne;d}`jd}bg5r`c}h x|jS*f)@!!@MLBe): 9RSb!I_ x:6 MwsOF7e9W/$ kl !HDJ v%})8 M8 w6 #^):1?G2 :`  2 * U+5 K j hVy*!  Qf 5 Y B"|B HOT f. =#>  -# TjS }$~ @ &>b1"+;%%z  _ Y4y_I )b'S<v||ET %  /AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤ggggeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDgeTgeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTgeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTgeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTgeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTggeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTggeDgeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDgeTgeTeTeTeTeTeTeTeTeTeTeTeTeTgeTeTeTeTeTeTeTeTeTeTeTeTggeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTggeTeTeTggeTeTeTgeDeDeDeDeDeDeDeDeDeDeDgeDgeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTeTgggeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDggeTggeTeTeTeTeTeTeTeTeTeTgeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDgeDggeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeDeD6b39d74539c6cab541e9af423fdee9201da0328d1b0174dd6e3368101aa5f00430e96fb2bb8423a682a6c822916e0685d1776ddd2a85729cd1c1e61d646475068c8c718d764b95176b4d78de271d7178b6c8e177e6e7b34ce8acfa033b5c524c026182b62ab0b7d44a5a86da3d4d2569b0a2c312db1ed8a73890141e8ebeb252473d7d2557dd03321cff02d75d76a00a6ed3b342384f37ca143af30da5be302bb558c14164f61c171b5f42fda46a10bb7a33244b249090eda9028a17680fb03ed8c0b59250110b9188495b3885bc3f3bc0d0d2d7ce46452f8882926afde6b01f407d88b85c7fafd812c2221bec519d8974aa6b294b5281f04afa6e0781f8052b6c244bc5609af18370a12ce3cf1b55e9be0db8d1bd746cba4e551060274776aefe8861bb5cbcc5906f62a43b7669c6fdab1273b9847c64fb5df4971c48661073a95c867327a698e661120165c67fc39f6085e3e7ac5e642f5dd5ba49924771d647ed1fd0756b49a7c3bd022ddeb0152c9f31ac6edf839ce2724b8b3ead7dc4674adbefd4240db033a1ca8e246b99da2d100f21aaf05c012d028c594d6a5756584f9291f7205f3242c10fd635a97254f056bcfd0ecbbaefe6203fa7b745dd81000ecd7c5fd8831632a89ff9292f0ec3c18b5cbd017d9d00914c9bf478661aba13d78d800b901dc80f696ea248acea2ca6a4a97d6319acec13eeba5d06ccf899d39c6df5a9857d996539277d1730e27e8c819675efab15506a870edacffceb7753e03ca851622214ae9a6e153756ae50e3748a46ecc45be1d505e6ca1c78bec9688fc903d24a36efb9052073cc70806535df89c55df893cbacf08da88ba23bb5dc3b154fc8a7f6c3d92ff652233427c76cbdab0e6e5ae56a9f1a7d68d6a391d243b0874805e6c2aa79c8ca2a5a94cb31c63c52bacfc3ca147585f13e5a39c66261cc99d9e295fd392c65b1d8da3e930faf62e41fe40a4019226de367275cd48ef4d1bb21b9ed8060cc16b0db15cd87239d5f940cd614f1483cf4a04ca24a0705014eb45efb46adfe4db815175e9d098ed5472803a86d21f5ee6344fa11915bc5fcd80aea24d58b77cf9c8e44ea7c8f8161fce8cdbb36ae980aa1f80f4768e875cc955fd46d245f2b18d28851b285bcbdee62f67e47d3ad56e1b86dc56b0e82b765f786795a69863edf3753be73248a23d4184dd6a494d422b1614b3c4612ce23ab078dc2ce5ffff311dba47835a617e8524be3c7f012a5cd082ed926c9fb8b05976c3f16f922acdcb98b652b7b52fbd732e78d4cef84d6bcb94d483ae1e3c221fdcdefd81c413ad4d6a22c5c687428911b1157605f72b201291b782680865648e10ce8f60c21bc0154b580b542a32a8f6bb5794775759684a10d42131fbfac01b77d830cf3ac7f5e6b531aff13a0a7c522fe8e1fe55326fb5eaf28b0a3d3b46487aed1deb82295282b65d89f37a6e6d7b3fe948b58c45549d32eb3a03b065551a841a73bbdf7e86955aec39593cf14051da2af315fe3584ded0020cb29260b07d04f39f6aa0c92d379023de457abb5c0a6052eaa7918f4ed66cfd18d6f5e80d7b704a3851894e834cf4336ecca83acf86fe0b4ea92ad2849973d36b8b65a41588781f47f2e1250812c1f5df5ea126164c650849561fb76fa4e6cd41c78d397f34ed98a34715122efd132aeea9b7361d8c6a92b96158cb7a7bb812cf6ce8d988d3213a46eb10e9325e931419f7fbd40cd9a9bd5b7a96b12a96237882df78d7f22343fdaf8e713fa69a6208aa3b78eecd71226f7d9429044dc69915c1967fa05203295dbf98dfce5d676d709907cd750fd40dd84edf7d0e92be646f63075dd34a33ce09cbf6981892c845d59ea5f83c52b3662c0a313cec3f8793cb0f082dccdf966b7d8cc93d387bdc5b104765b438b34a0a265bad63a7494981187d3fe3d9e3ec4de9b2533fd9827d3eca12dc59e0c78ed50076e2e6c8b5034f07c506966be7bc31b4deab514393403ff24291c140edc7b2000cbd02d5441fbe9b3079e44265bdd2d6a9b346e2d7c4a319f0469c89b9ef031b0e59eaebe87a57f0145c090b7a9a313b7ae37a8f37dec564a9ed9174b5f7183cd94929e67b0a80b85012033027ef0d6f138915b3c2e8bb8809e0dfb5142dd68eadca51ba8e0a00bea6c22b4ea42f86b0b3debb278bb3daeab25f1a34bd26db9a17f103f2d5825e2db8ba15ee9cdd87d4b7cbf349419207aa41c3129cfe9b812236c0d2490929c0541f82eed7fbfc93b74ea13ef634ca0efed9139758029cef33198d9744f3b0cc49f46e11bfa952e45367eff8e379cd6aa6c1edea8acd6ff43e16ba834e8d9ec4ee2ed426b6712e5934c14b63bb033bb7861f87fa97bc4a914b6730362954aa3a895b728830ee98627be21ecbea77e86d8556d68b0052824c15d64ee33f0031f68f443d009f2a8b13eca0459a57a83f9d7a8f2bbbc2ce842cdca1d5f6d52c69adf0a5f7a72e56b2d641abf3f173019af427a1b3a9a489acd22fb3b7f054c7f314ef5996a85c765659a1b1ed6d8548c5225482de99d238d984e9fc38ed21855614660ee54f9885010a8f6cfbc564d7feb40208be07d0f96d1cf5752000f35d750585c125a0c07e81aa295cca5f0e0bebdbe745b0482b9280cc5023aa7cefd76c07702608024f23eb9fac75576b3f269252f0d32d22c1237bc53c34ab3fd100eca0a6254ab32b9a7a84e5e31ad2e015b381ff75de6e2f773787b71c08886ab06570ebd6cfa206f4259a49fef661a0c88bad0176f45e9a2b5cc5d1c0d9d8d917f84d302536b8feff5695b5d7d1f0f60a77a69d45b9314bbb1ce0a4f664d4e7158a581d65d3e220a8cb8e4c1606ea8383fb9e2e2895bd38ab14b33cd1be11bc85e1669f291e16be46c34420a06acb4b088efa39d22b97ed4982f26ab905e07c3124134ef069c7c1dd4f5273caa1f20a7f6e248465c0ec502c9401a8d10a22b3b85a32b9451f3d50e776140fddcb44bae61f80f3bddd7647a7adec361e945da25c1e88c3b50783d664924ca11be8e5880275a0179ae816860132d18febe791872524966917b428fa6d77dd31892cc75d619177d10245d1e7b0b852eb2659496d20fa300e7fad08ae149e6018a9690cfefedff90d0ef1e20681742c003c41ed441feaed60aa9ab880615a6157640de0aa6cf38e7de0994ecf00955e9f76666a865f8bc96f2edc07ae420d94f790974ade3b8d5072a9be357a9736c57e162367a12c6156fb1faccf68967f6be5ed4b425e1868b00f13bf5ffd3e50b3b0be424f3a4ba86ec1df110172b188728b50defeaaae836b40ce111d34bd733ea5cb4b0636b85b21229ebac2a7914967628ab4f96a20e351b08833e0f6fdb793faded3d650e74e2ecf4118660099dd7c6f113b2990b9daa46a37e42045f0b41f6ff5da3809c671e322e23961b445997588329dd3da8bf3fa58020215e5651dc2bef0690a55310d6c5601b43457c12b6c64ae4941f3f7bbe21c4f3b8ab430a93cb8dcc98300a026918f6f184a5b9f0b3414c37c890b9a3fee6d7463e9c7d9fa99b42cd6d245a2d220e48942ab34547070535339e017112c6227421a086815cdd03db42c001fa2e54b768b7666e163c8db6065fd48d1cfb44edfcc011313e6c2935909c626f97cff8f87e44e2c41aa00e0ff427f16952f988673d6d9c47c52529ce138fb997d80d6fcc6e2695267b70901a391478df8ced059edacb1548316fbd3b7157fe870a117bfd60b14d3c61e3d5bd64a1f5af9e533627e1d1e77870240eca1a469d35026a9629af9866c0f91246322dd1066d5ddede4429e7b6f4b75755954c588ee444b66bcb680ca44d649507ebe47a738ad5d0c9efb79dce4d75f0adfe3bf26b97fe91b362938a7ae7ae90c7a4d4097f92799191958bb15056ad534ad9c09cd818ab9a8e66314c226b789b9b69680b62252d8e29646fde268a8f2d13de9a64e7aad3588ca7a3bd50ad6495dfd7dd6e3855fa112d66f3b2af6ee2164c3e7362f8c3d898e504566977ec1ae5a65d8617bdaa9fda4cfb2ffc993672217f33808b01499978439fd1d1d99b3d73902ac3b27031a16f59dc967b9e78fde41365c81399b960f07b68c293995f9c3320bb34adc340cb31358ad4291704f4d6beede8e144ef7fd06349aab6b32b5e0f11e9e38c277b7f6bc6c529d21a3f3d74cfbe650d1ca6493bb81e543b6cce16da159b356ed3a0d539c3d4948d3509d9f473674f8590485ac0b53ae0107b31a12e5984abd1f06b2677adad20a9a4c715364c096489c2701f07cd66021edbab64ba2006bb9799eaa5a48d28aeea79dbaef4f6121a1b4ba82b09a2732d15ec7718abf8505c500fce7dff20917f7317b8c8607c600ae54eeb70f02ecd11aa64dd013614be9a1c15ee10baa90550857f41cd4ad8c45977d8f207489c6d194a8bd49f767553a3a4fc2a567529be2e4560169877cf1dc54eb5710157b6abeaf2fd6af4a95da7f07dd79aa25cf13bc6021ee67f122db0d257e294a857899f8b1d342d507af433caf04ebbd8bcec520a62ebc28a4887b5ef5cc77d5f3171bab96709af518fd18f4e0cf5fac2b8060e5e999cfe916c10766be9801f5c0d3bc6bc48984c5d38897c3b19d8c9162c879c4ed1957100b7ae8326c370f65002a6ef23490797f4289efe63d93c870acfa27f75d344838eb9511f6a2043d0a5e70d409b6375af4bc0477c6aab8dcb6bffbe1741faf2826e8f4d3e3ba8b9d47d966e4862362123b4e278bc7d67556e5112a6fe537de6f418b48d749d31c9bc8675c13bbc680bf023d2696b3f10447702a08d076793fcdfdf7dbda3944e833fd895a5bbb804073c28d4fe960cddedd92f9320da9fcbb758ecac32f64a6506999619330372e0e97dde4df6882bdaa71e5d8f58d93d10f18cf720d281c6073b67ade229ab22a7de7685f3d143c87ae5c7ba037810f5a59408c6ca1b8ec8fdd1ac6d65fe72946cf9c5e159d5239ce17e163959ea1551c487cbfd7f1597648f8617ecfeca585bc8cd386f0c37205a0cd37b04031eef7b50f663e8384701f8baaf455f5488aa6ddc6f94a71309daf6a861cf0b2de5d757bffa327ee2978bfecfa7f4f65f850819c777b892bd04d2fe905031e390714b015350d15efff6079ab156c2fdf5490dab8ab0f06c41b43584d288a49bcf82376f605cd428cef2c47aa0e333e1624139d3fee47f6d2fe0bc3330e78e3456688e22b62fe033b8b2444fd016df567b1782bcc9baaead8e026c0777ab795b888703857312916bd6275e04a79e55f84f00c5b8cfdb60cbaf409cd961fef3542462153a95acad164bc0da784622034a4eaf384c9beeaa19588fade5b67347d7f89b1539c93843f3f7178782a7e34eb1fe586f4a785c3e60a432b580fae8f9a4c88200e9bd4d8059ea963a73a68b80be2d84b77cd219694bdfae0057387cb7e75c8fd1663b62cfdc51fa53f527795d0fe3c1fea2fd159d3130b5b82dd32d5444031d1a46a133e7554be7b80c54d12e3503a1b1332a540218e22cb16d7d76bb2287ff8ba8f3fa37a448f9a3b3ec4725fdcd681b44f0f9139855c1d9a69191f6e3642ea361bc3c62e677b2f40fe6534b78da540f4155e0734b59ef1c407146f8762b3b14a7953ff9bc4c01ed64c467d7277122e769bf7e816017a439ce4f3cb48d797d1091c5152f93361d8104298c337f8a1c134d87dda3442c04cce5736808efe80d9f04b118dbb978c344d4345672b332718c3e039a3eeb8eee9b23100df31a846bc6e6a6545563b2b4120b948c9835c7d36cde00af77f4503e71e9aa833ec424844f3670bb5f1a2851867b9ce963f78df531e45d3a4c77dd72851dfc1ebb105245410e2cde220b8610194b8a50f9d70b9e839795bbcb3587fbe86879de3d9a807dedc742a8f464f39e6b74bbb531a1fba3583155d94997d1cd12eddb0bd4c67cc45ad00f3eec7870241eb19843173e0f212eee7e70ee5c3d1e07727c73daa67ddc1483b37917ecb40898855a40407e772124cb029005bccdb21a1dd18d78eec44420af3b0b7f08ee3d41c982916cae3ce203d7ff35d754cc0fba06f6701f7260998b430c39b6557f775497e6ce7b1a74f0b7ea6af371bf54a6b3047772e0dc6c9d83c26f64894ca1a897f799f855c5574ac24b2ef934c2978e11115aa2cac174b7b01f907196e077ce19dd164145b82dd68129f92bdcae68844c9a24ba67138ad5486d550f586cc5dd1161be112f1c1bea336d6c550cdf255f1094629c1e2ebbc8a9ae2c9c63e18c1dff0f5f1481146e02f3b11a3d30feb20a8b0225ff76244a42bd1400c0904f8b7afea7d97b7d8115495e42e98ad347bd51742a1baad62ac82e91e718e77eedf7e85c2eddc4badfb8c87c6cbc86c45a8b0734a99716b78ded10eae87b4880de739d3e68cc7dd1a96812bb28f469d5eeaea80c9ef645721f31e412b20b583f766c192f32ab5225585cc61e6036383ca4fcf4acf2d347e8de7fbb0edbf457c8fb467cb6d16d4166c92f40e68f3831e06149ac7f5ce40e4fa457ad05d84b247f62ef1a3fc4f5fdb09f15a6c8c5a558784c59e745130d812992129ce81e6075984a127303c732c0871f8ba993724a8a4e91cbb47540d9c43b9b2feaecb81c45cd19f0bbe54e30f6b4ce3b371bcda7adc3913d9ef31a972c7aa0fbf5c0559a9c76cb0ef88a56567362d05194aa0e7f2592b4cff060c917758ef97cc090f35cd8e293e4de691ef942847da0ff80dedab33d57c662e9f2806fe9109b851a80a74841244f6f8c9d10917fa0229cd82bab67f2f8e28f4eb3da435cf544e4a6f390f62c84cb9c9bb68cf8b14e97f8a063452382e5efd2be9429f24c252df71c051f1bc263ff74afb7fb2b126f773d4d5a75347712e283cf743111a02d083f91ada4d99ccd3b937cdfc853cf0f5582ee20ca6621b4393ff14861775969fd006b382e005f96dc811ef062ea4a37356efb70d7775e90f743634a1132eb33f8091d60f2c346ababe8b905ae08387037aed883953b7329af84dadebbf9714f269aea5baca2de8bfa7c01c26f867dbfbd6502836bb8d95efc1db55798b35e2dcb24675f0865a2442d0e4887eeb6aff322ecb1968d936cc23e7f775f8bd606ba5184907a0851474dc39893e11a296e0af233e8b00f7afbde1866df191b4542d038421e78a5902deff6c2465c413e41c4fc6eeeb5e757aa1f61a79c031d80a1c52da5eca790db896baffec6a7e52bf786cdb7bbfca5c7f880e6a1ac8c3921949a2b36cd9b9060800ca344f27e4493f76e2a96b109601c94b42cd31504b769303c7bde00fa578eeaad3c68e02aceabeb1242e556f1f8d19e4bdea5492e0e96f21748d093e1a29f4dbfd46528bd75966937e85ce7c8abc0f361fc1523b8cf46a1965d0ec33459b875aed43187802834db49e0daa9fa2cc842e9d8d278e5141dea1ad97e7d3d903de47fe95e9031e8f559bf14179f7e1e539cb1f94f6a4adfe5e08abd805a9989e5cbe605074001a1566840b24189b0285c0246f700c419615d0f1794cdd64eba97da74f5f6b15c31eb09bdd9cf7b6025d00764f92bfb314330c3eb0a81651c682803e73b348898157267fbc37c4c2c07d1b3a8e3219621899098adffa1440c8264606bb7be535ccfd9ad126ae8e0bd9b0c5a5b8676052e700bbcc865c112958ec2ea105cb1bce4deca50ac8d6efae13adca9df7a2cc85b9426c3d8fcf161e1e727356105091009c3fd0b1b1a65bc2da91fea2724d2b490599dccfbfe5eb56d33363415b02227a9548ab8c9b8e7b05d3580e97266d940bab8934fa76f82ec614a7fd0e6ebb4d9f74391d5e8b0c6f2f0ed6080c6c4de1cb164db61b3bd52f58a7e9340bb27c5e0278895bc80b6f292fba5cf9bccc4a1d2211fe9f971646b6ff88ed93a4f0d3f443741eb2894095cba15caade7c8c6e4f7a0737894812a28243af5b409c5689f4fadfe7610958b8ca5fc79aec2f2cd1b753939bc62d093c001d9118e989bef2b887f1b2f9ac03603df915a8b85aa81d3e736ace3d515c94c547009c3c10d818c81506ed7059cb31123749b9cc3f94ee804bdd78b3b507fe0551aa7062a3ffd94846a147ee2bea7fb38082c720bdbe2312637fb6dd5e557f4fadb06b353a453eb0b9223f4671f6f572f815302bc4a70b3d4c032971dd7b859f9d6aed5090c9888bd8039b82e0604bee5bfe05444fce83493a35a94eaaa63afba5128292cf2800fce3e783eba12a69e3d3731360d5946847de7ed51a1594fff247f4cae2301eceacf5313d6011e37b4a4c8733f7bb72c07b7f96269c46069446764b16385e1ad9cca7c5fb5f79a6e2749c2ddcb7e3448832b89f3602cf768d3c8355267d2f13f2417809e101fc2b5ceee10db19a60de6e2b2977cdbd9fb3f94dadd6f76cf586d145676deb8a22b5f0f42149d21c058c09f5bb41a60038a2baa5d8ea0eaba55e6e3050d721b254cf79d8d8998d7e49d664aea6fa9cea75df91bec656d1d3b903111a9c0708c6a3b88f405a5156de38ff9d6d367226b00919d9487a59b0173592b7ee631337728fdd01f1b76beeab9b3f97a1d570e49654e84c7a943918537bd9e5e1ef82920152e147c834006e235be97c9df95ee4045dc769d824ce6254acc731f37e0326d205899485f7276ce0fdde3c9b40d7e1f92df046f4853b006a0dd745bd3e55e48e57faa28c686a519fd062633e72a1d7aff9867ee47305c7cd8ec25548f08832ae2ec985083911cf214ceb20df98b67a2813c9749faad7648d4c8214b74ac26447cc35711fad1cdef06123ce0152c20d2f380ac985de25e474e1a5f06ed34b932191342099b8272a63a15a0799aae52b2bf730216f7e46c662f612a417ebd43642e742e7f867f33aa734293cd0244e20a34fa2d30c60e60928d6d71f89d32e0e0266b4644980798cc2368765a8c32d76f17c2eca78a1402fd1bb48144785e5397ff5a24de68c36b0f76b1f0551e2fe4632c0d5350d48525cc88a01a0764d9043d51a4110309b999eb79297db00d43824171301d7fe8e14733e8f799dfd26fe66bdb9098783c58a47733a3f002fa1f0dcc715867c5c8684f53d29ed2bfa013f8669aa1f73864fb7d315638a02b436808a38b064f1f2ca8790d8787382f887c2135c4bc6b3cfc84a3bd7b228d6e20972954be263a99194d1373d9a5cd8d2dc92acf69b55470b6951f3b3475017f94a160342fade4d0c4d2e94b8cb6c1e144a6e7682389d2991257e3a28625cb2df7819b2fcc45fdeff0cefd666a1f8bd2a5828c4d34367d7b6b6691f442bf1c4243a3cea1907be641268ea18478362ab6c459424a9d8b7265eb5fb2264fcfb894d5874ff3d948dbb673beb035dd70aef5e517119ff626ecdfd612fdd6a1eec32e9382a24af5a21a9e3ec477bd4f74011e4bb10b0cdbc7e0de3ae60b75e95d650b874b60edc8a53da477c6ee393184a1aafdc83ceaedcb4d0535f7c482d1c80e76446093eead30c8cb1e51c8d01d322907760a3a57876596a81af6bf0795e9be675f1be870c8709fd5fc4dd578103b320018aabb4e18b8e8edaba9afbdd4d0b8f4de28e9f146f4b7de78b0e39be6682997a7428f8ec5ef4efc753415d4ff8d9d762695e8f8e94eaef0bcfe56818090dada6dc76f53e30b77b97bea3a91080949db07489b6a334fae390954bbbddedf03a0556163e5e364820838e881ebd3f33e0da576cc5e69668d65dd926366d103c4c77377e0cd71403e4e0fc278e335ed953ce98bbe907610e9499d704bd0fe68d4adc158b19346cbc32f4cfe8a0014b1bd62eb312435369dac9efcc92f7e098edbd9ed8d7e6dfede8b3b4d8e3702cd80b796ee309a00d47b837b322ea5d9128775e0c46869b8014376286ba316a073d293acad3f751c053fdcf432687c1bc0e56a61a9119d2bb2ae29365f8aa6534fc7741720bb6e8ae96918a36c9886b6d48e54eedeb3948591e1485c206bc1dc60c8dc8baccda7a19a90f22a4a922fdc8c230167d7abf5f80882171e2cee125c5f12481d585a31531d6624f34acfce2cc9ca0be4d46d30db061494c8ea189f7274b8039121cd00afbdd0727f445dd91c0a09633e6345ed5b05a3d2355453a1f3c314c6c53cd9ab173f7178c0a16bba9f867062b58b5d60918d5aeb8ced85cba0b24c353a8b339c9ac686f3a85952fe895e9b0b0225b8ca0c9fd204dc11dce8e555152279ffea13e23e2bdce60e50e43e5950d76d542a61a820c03c28fbb8f11b26edfdb685b43c44379fc4906c8feb0ba4ca701edce862c9aa6eb171d513929fbab19807ddb26d749566bc8e9b686a733459a47b219640cb4cb39e77f47fe48af9a510724666099d0f704e310047b2f0a5ec9f936cb76a7271de9a2e70a0c57f82ac82dc45cddc9490be69345cbdab64ca583be65987e864ca408038e648db99e10516cf739251a5746e7648fdd854a12ad230dedb4ff3cc776f5ac40630fba941a045d5a9e5b1643364c9466441b918a07343f58315604da07c92b76a5f9299d1c828ab82f8c4e2356d82eb75d502032a0eab7b04498a7ac4ccb111098e27ebadd3b099dd0eee4b54a552f68a86195227b9702da3c57bf424af04f29e8fb753e0a196b72cde3c52aec95932c86058ae8765b067c52a7fceb80b5a7af1a12b6e043612c95bfbaa013d3c894d4b6ab7ac9683a30a4ea4023c6d1f08460837183a62f6d7f51f2cc838d965c64c43a7f817e96c944dc03284f10c12959a6f96787f7fee1c3a68c7b52306ac7df147e177f8f3cfb8e83c9b2f1f830c485198321dd0894eeda65c37e8103f695b24db21d1ec737b2d06b671c3d094e75b2da66d6b570b251bcaa1ec18668acf57de31952e5b2a0021b7f4bfcb6e9b6a8f0caac7fd560076706b1d1ce0a66ce9e9421bb5ce623b4ba4810701e0404f2dfc1a0578aa546e4f3a8a4b75d10e446ea9bc73da1afeebf511da661c91c7866714cd05c1672088debd86f6bfd47962ca80d11a5f25721b87fe025849f97f02d96519ef1180442cd2d29865a756c0d04ceec75b2fc49ae630c9eb5ac2104fab99dc09d253c7ad1b05466f4852a1f1e8db873efd801f70b9ff1b35cc8ec791674904342c524c6b8192ffd2027a191a873163d94013bec5c3c5eea2329a35ac1dbdec97ab2dc8958c16ea5b48109e0163c58e3d8ac9ef125036b6e6c79a059f933bee433e3495a59ea11e1518f60d28ac0db0dbd05be59f08b6dcbb84872f52054cbd2e4b16a9d8aab3afbd575a3a4cfb8a9f2882c09135b244942a61dcb6276c0da8553f1db48c246bcdb68ba760e8bd900901a46ab1e9637ab513e1c1c7b38ae809f317e6b90117d8a6c2535bdd70efde12c0830b07423a1f307c724f2dda7e20cb813fe93c0b3d358754694578683038ec9fc8c485e5d3795df83eadab6d3b0d060b2cc07959779f947d6807bc13470e3397989646b66886a34fc81a95fac091bfb770cda8866b8b5c660a6cb1e267e4a011bddfdf187a06b2c081277ae220f19de1486f30e8d20f7a56f13fba53ef9067470ff509765c9d9ef19672a51b14a9fb016869794b3bd0dfe31079e900dc59e62f04d06c5ff5da437bc91ab13011a39704c0e4a29799e633a8c6fe2636651de23b76bb73957e8af9006c3fe534c09e5e4300ce1ecbeda921df5e337822073d3f5e99e5db03ef61aa6e9c22c136b3abb744b02b3865cf47404c24d7ec84ed5ed2e41769ab594f683a5b8063770270a372da8b02e1dd3b0663066121af8f40c7785e4cfdb9a9ee8a4664af1c908ad6314abd4abb29064c8699ac49cdd2a7fa22dea0ed2d76ad7ad5f8851dd66e0242a3110462978d095b1b008b228fe1e9828862b01fe14de189d2ae6469c6186829fbb09e221e83808560c329f0cc89c99a82fc3b01897ea4995693b9badcf91ef81b72671e57fe6d72b7f0f3a53aa6e6cc83250cf7b39fa7776630957d0f7b4847e0e4f27859f3ae8e07ddb3e9c78166e65ebc05095aabcfa13792428d15983e1de60401d1f5ff9115bb03cb51acc457f1d476e98a7953406971e997b03d5e0fea907e4060fc6de83a76498b6f178d3f254a55821efb026b95b03d3dc8b8d80f657056486e40c14e3451192454e1ea3f9bef9f1a41e1f1b60cb553c98b754b39a81672be70c871da2c1d18a2ac582be4aabe2780754133a3272c3014a77243a6580c6a0910d47557b556c6bfadd88529322dcf884a6283ac1901c0be69edb847279b1ac1bb4d9eb90c38ca6329fe1afb1175e214150dd5516628c5879d38b6350d5eb4db89d76e42c715a99e1e8ae8318d47d17dd7d1acbd836c78f5ed803211f655e142b250407ddaba44ea66301da7c72ffc96f0a3fdee6ff8f1934ba0b4b9d4a538dbace7ae82cdd8034a99e21d1ed52fd24008c3f1361fdd9fd5ee9add3162a1724a5376e191b3ef01c84da45457e396463cae6cbdf11aacf7d49f2b718435773a4c3825c77e82c11d41916fd4946e8dbe54a071cc25faf262f3daccd47f2929c9690bffbe5836ac03f357df951bd95bd32983f91f8fb7c877a7f4e9e86c855f35df21b515ce35fae9cb71312af3121cd2801d52c600f91dba6e7a243c40c98ab79e3b2da25e0a0401d3852c665237fbec950e4bf49993780d9afcdf84db6c623dcac77492248ae353ece9f2242397acdfca38387a7744c934f7188674cdd948e17d5834f8918fe861fb5a4e454bd8085c624e14d3b786fd36aee0c981449aef7b4b36addd8f5bcfe58049b781cf96b00e60a17de25fec9b8214bd78ba02197acb7a8dd0ce64ccd8c24c373bb3076dee61d264bf2074cc816b8663e4e54fa28f5d84e7d3f20483fac0fbd36151deb3a2eacd1edbe6c4883dafdb341e17daaea865023039f7b42983b96a141fa751172a11eb2a90bd8f4626200a5563e88614eca3573dc622965bb02ddab79c5e73d1c469381a671aa282b363b877c47ecf8cffed94431ef069a872afa9ee8deaefc9017c3cbaba5234911403ea11bc1c89b6365f70abee3949a3be38b13f415d723c2ee5459cdf4de5f04a3809301029f80ee54cf38fafbc480401841b7b881a7f5f15e72d59f43dd6e4e283cdf2fa4debbba7da690faf177196659a40f926962964fe173d1ad589469bb0766af3d60107f75312ece8d9feeb02c738f25cb59efbd844b5b1b61016dacbf971bca7f8e48bbd24ff17e0a97e6ada974fa4655a0ebf7cfe2a6a697293504a1726dabc6f640369b4edcaf207c71776eba54f3b08bd51687bf73dda29e5d272bfbc8cfefaf12967b6637c9bbb9c6a5afbd70a676a2beeb930d348991c7a92e1c17f099c5fb3d27b84e6eb43227882c3e7c1c3377802e963a60088a360ce517a2f08bdcc2fa10f4b944ac695c89429e1a20a296d27f7731d292cea594a83006233312eb830ccbe97433fc720a0a5a0a5e7efce5618f3cdf10b233a19f05fa0e7339b32b703018198e056a3a5b64ce10c6c8fce3a68e8cbac9300e7bc65b177a10b592e6f9de01a0c5a89c36e329b0548ecdb0c9984ef4a94f7baa0259de2bd3fb589aff9ca298a0cd2879fc35df7db7fc522c8074d76d7d0bb6cb66db77a60fba815fc115a9ee89176ca83d42ed38fdfd1f6aae9e70c05408b78dcf581f266254686973d6316fa678652fe0f4f30c8065bebc9b2f018ab846fdf1834935adca3176366708057156b0ad5b5910006a3ef7d9e8d04ee99ef6256f37f4b8f6be64e52c7dfd34defd3f35635daa5e8b4bf0e31848b41ad204bcffaa7ea8d5077243fc0e5875b4a1747668b3787f9bb986d6ee576b9c1b5d5572a20ba2a21f8d56e79117e62dc355fd03dbd9333041c15252952ff72a61cd4dff2d3c95e8f732e47657a46093fa2ca92be05048fc784b7ab3696d1295348ce6b2707e9db998621a2a248076f1545f4b49a037e451294851d0a5a3deae253c47f7bd7d17961a48fef1184fa596b60711b2e82bf11b827e79e0cfa53c7115348f87768ab33fbcc04231efb6ce885b56b82ebf420d817fb1ae4d403e18ba332841265af82ae7a8cf185649a55bc77070d660415411ff93358c621a5d5f842affa62a45fe88db557b3551878133aabc0e9f642f287a2a65b42ea28bb6ed658fc8f630cc79c96ad307d69e0ad1fde9092304850111576d26b45cd8ba07729d0f8c1466e1bb5c745603ba0e2d7ceaff00521a448a8e68a4eaaecd7fae2ee2215e3ff445641fa52e1687c6b47dd99896cd36411540f00fa027984158b83ae66cdec68af72176530e344cf9829dcc09f60e5c7b9c814fa89be8dda4a986732f4af87ab1a27b65aa82d1601e1dc523fff1697f0c9b1cb4b57cded0e3a0c5980511828fac4de4be2f0d84e271d39d89d6c54404e499b91ed8e26c39ac2c0e9cb9a05b8d39b7cd250db9bdce8177563c9775a90670d2e1a414434949ab9eeeee538b35430087a1b920937291d0bf477f9dba2628b74f2a7d1238f450822eac921d0a3d990f9d4a94c9260b52eb2efcce939860989ebb37156507e34a2f6448a767edeb39f12a1cc64cc40d2887755a77b9b5cadcb30c21c0b5a5eee1033c16ead8fc72953203faa1d993fad33e1c07c038b4965c021ecbd4eb4e5a9f916547870ed41e68eee9ee9aaffe207a1250ac84f41e524ebc477ad08bb8ef42200f6eb3bf99ed9e0b7495d38463d94bd27e5fdf03a8359ab6c313b6c6b8a238e83b1894f4607f604d791290d34072e34bf8c252e3ac749a598d919a48b73b5fdb64fe1c7c9d04734ee1b22592e1ad962b4ec43a59a929e08cfff503bad05b62d6a3bf0294cd5187ee29b6c24d563e822c5f7ce85dc9c8e7b550cd25ac45a7e5a138dcc05aba0f99d9900b78d95271e3cae166c510c8497ec2669f70907972f7c5e7f7b48ffd348811f89c7c516fa1f2ed07dd05edab6b9da5a0b55440acd9870d0d3656794170bfa0167d8b60f6ed64627a22702f8dd00877414bcaa062270a8aed0e81e6d99cede662239fbac1efeea245f6e447c407b1113f86e93dfd0a14586b32d8d2c763ec022c1d79d1c55d84ca9cd30d758e86625ab2bddf859685fa9d7780aec325ae1dfde2ba471cdaf5cdb61f567982634c8f6aa78a7e0bfecebe6c255a35d8babe4640268cea58cda0e1afdd5d216a756eba112138c2edca8ecb5bb432f408ab0aa26b5fa8ba46881df95fd9ec2dcfe7e528d07ad4b80dd90d6fec3e8736da17ceba9b9b5e86f84ed47bf84a39b96dc1d349c3f8ae714c9514ccf08d38a8e6b89029eb09f561362fc7abb4b5a2dca7cc23d0a90c0dc711564e65f89af20517f79a3ddb850feca7d7384832c413a37cec06d459849634f655e4b3f84be4666329d62f0123058ec7331cb4a79fe5e898e4f06bc91ded768a889ddfdf8eb883a88b8bf4036393dd2be5cb9ba880186854550f00fe7ffa75908e34fac42fefc861920ee078e5898bb5ef48a55a3105f3cc52716ab77fc1b168b1a616d7c8842b2b98bb48077fc66ef4b553d9decd391f051e8e21b30abdfa9dda6167ecdbb7a19ccabc222a7a017dd59396417e0803a4e527df5e82f2b08e13852da47ae086e537dc0d940b34d8bf028407975c773f26afeb6df73c92c0d9048642f6c46204d4c43021481f7c11d968b382a70ca28eb08e6189d4d0909fdae0f92fa8af063ea073eeb8554e225e9165f0c43cf377a8a9017c1b81e17cc486faeaf5273a963fbce4008837eacec40d6c80a91cb41b00dbf138c56d925c982ba0b200916c584bfc3b362403bec7c3a084714d86b6f3a78c0ef74530a550e21e87409af2a63b26003cd3ae93c20e4891877fd7166f2ea4c09eeeece3c3f68f3d87f53425afac676707f2b6b8bc41f63641ec2b83a3b111723b78eb5cdb4950c4e3b4efd9d8ce7381a3fe4d32a3a6aeafff3c9ac44ad201276014f4b1ae83fb3b090ee638ad5c11efad0048b7d01ab4526b5a82308c927287e25703ec91f6369741dfc9827267ec99cf49503fa308164979dd3b0ab26f39159f175af6048c8937b7302c84a39bc295164fdcba4fc00a6a7035c11cb5de30bda78f6ddd165c1d459edae18ca8b52a7f9013fa12cd7190962367d6daeb520d635bdaec5eb9488f0824badfde1b04e4702c4b1b45353c134143ea7632c1f8519d92425370a4636c76a2d02d4e21b151966e8e4d458eb91df0df9144f04da176031dd52b1bad81fd32034327c32dd074760ffee65451d5a9a80a58ecd5ca0597b6728707c0efcafceed7d66ed9a8d78db53f30d96032120a73a9ecacf75fb2c656f8d97c6869b6411bdba6bfdaa477ae78fe9be66c25d1d3700ac2fe0c13b13cf88a148c90d718cf4ba47190e61aab836e7492cd96c16d983e01a767b24a84a31e2b47a770e32e6f1b23c2a4fe844c62c8c360e167b0f9e5759ec8f7b95ab3a5d8db37acdba3fa9d555e775d00f6d2ee60a59f6ad69e0107ecb7cd4eadd28933c9cf9efbd3751d5b2be6ab2764b9144c72ed0e0805c6effbcc4ea09a5df5baad3023c35bc7781bf7b301e3d7bc757571fbd7b23d79c1997622ba68ec74d23446cc9610df015d5b15bb1d52a4b68746c410cabd4cfc729be59c809bb6d1188a469769378d18fb3a587f8faad63c809c5255329174439aed84461d5cafc0b320c581c523118f34ea2403f1aa13a878cfd9754ade7db0d4bb074ac9fd389d0c0b47c810e9fb7e5bf00021078479b62fe964e86424581fa0c66cf3b5cb992eee687d3732e77a6d6aa747a32f126f98b29fb0c081d6dc3cff0e1e9675547303aa5674abf23921d8e7dc8708f25a60388eb2b612c26f78915cee2e5ec914aa6e9e35e52a7b38f89feac81b629a35f4dd2128b4938235d41f378917fa7e87be8247b9898bad2c1189fe2992f57e8fb5ac503542d05d1117ac3d3189793988bd37bc9053b359a4394a9af2a8ae67f5b526d0dd3d6da28c08375591c6dd611bf745a372d4603cc1bbd442123c32128657e3f5e0672dfdd6c41a774c72eb0b240081047df6503374d54cda39a4b5b9f613e71a945c1d7d3cac9b2d9f1e354c77e5b0b69eb6270df5d3c22962f26579010d9ae2978e78f3a6f766d00b034ae95ab2c29d6ae75bace0fdc52e5400bdd0a5faa827a052a82e29bd69f9d01f5533aaae22a5afe0e7c8705e06aa6b1afacf208cd903a3961c26e2a9e195008e7477b7ce5f677038c1be21dc291ed0abcee42adc6a08566f17fa4da2745d95722a1de28460609520198d9ee26cadc947cae998ba209445e06b72f500536501ebbe00c1c978b57f54b63635da85057d01aac3e51a2def0b1d1bdb005ddaf9b252a9a0310c4271cb05985ff715f832591fd525e7cf67332e6b6361add182d22ef3628e0996a4d9eef7ab81f214644fc467408f6c41ef5d7f3d23dabcc0a563c64e6889a878a6b309de0a9b2de1268d64cc078ecf98a28e77345cfdbac442b6d48876033e075f1abf6e1fd8dc2b249dd1324162b45d5883c39003b9ffcaa39e135a33dd5ca8a7ca00d65316d53f7b092e1c4e7f085f4b31eacb2aa614a52083bf04d2d713a843022526f6964d17672793d51e4efe620212db5d725bd8be0be289274724211fd55ac3abe33618c2cf295d421a88c61ef67e26a12cb81377c487bebb8b2871e0110869dc952c33d47ca5b6c6b5022b2a93049b0b2ec8a5dc271dcae2437b0d4d504e9dbaaa159b5a7ae28856499cf053c53f519801d310f2e5c4f27d4007e4fd959fe0b5d7a78a6296a079197dd213119b07b3532307a04e3eafd28dde257b446e8b901c542892db9cf6ff55cd9dcca56a700a5e713c364838d4357be0a172b4b5166a07543cd003c769fc07e569ebbbd88496c2fb741f2422a71bfd327c60188978cc089bec1d7ac42e3acd6c80c1f910e9acd969141e408f36cdf5e2ee5bb4c2938d31430d2ef760736e0ddd59ad000574659346e5d97004975c4eddb20d385381f5ff7789ca91d2d596b0771fc1321e05f59f09697d27aec8be7c004de0dcf51dfccb16c04262b05cac5afe074bb347c5bba1bdca93d72a356d4e6e551df61f9a925081de57625ed30ad63ebfffabb6204aa6b5f2f4df14b239c9cc6ed694c8642d694de757c84f4695cfc32a681c1db8e0fe220b0c95295099147744c8ce64f6df5c96b93081814ee6ba7ee842df9a2e596c73b047be46afd8adface29f48cc516c633d4c522f3ed3e9e179db7341d8467a037131d31c51a363efc05eb017ad039c420790708cdf70922178fd85feb4c228f4eefc1e096cb9ec772554dab9f4dd4878899f703ea7c6416e95752d8b5aeea6c42e26422967124dcb57db56dc6e84c003e7c8bc769e85feeaec3409b16cff64a981dd1a9d322184b2351f1fa189ef9f2b0cbb21db7efac5b67843218e64dc0d6ab05cb9fa29117ff7d5f32a0539d792676089f1ba44fb8e4e5d505aa9c086d7cef4493817a4d863b4da528c1821a19ed9cce3c80aa644b55d575ea496cf1173b290223a2ac0718f8934099d847f49d46a33f2a5f36a66423231b6b221e2598424357d997e5f84fb67b19e9fb94de9b80f04b7ecb3924d5de161d667ebff5ba9de4e2fc7f61867d558b7a3014cf0c6f24b49ee45e824d67fff9d9f6fdab89da8c3e773b2235640960294375ed2630f4c4f86dab2cda8abd9f0f3b58661f77e616674ed060fd13a55ef619feafbe55a17ce656a67babff3c5d2e84a54f5441138141f03fa19cef8d91c67d8324bc6256f17597f7d1ad2466f955099d6bcf7c44e5d14030e15cb154fc701ee9860aa8871688fcd1030f97b30991b4c9d5e34cd69ed5c2e7aee1f395bfa980dfca34da87b2c8d9c410b59044a06f19928698be94ff29828462539a30e2ade3ec0fe1ad4117dfaefa0686104aae1548d1d73e48ce34bb12442a71e8ce33718317b5a7f949481318619e20545ac80b13cbbd7da4cb1471056e723ba1dc1cadcb7c305874400b80cb19eec7997342626b6c219bf872824a3c3992e1999a7062113754d689e4632f617c78e6defcece5ecdc1461b79415f6dccec65600466cd5afeb6027de1d0f76b5f485de00aa3deea1a3edea25208c2e79017efd6362bfb460f0e8a6a399d3c445c0d0d615baa2019f97f079818fdaeae7ee93323d26d0a2de5b8b3eb80946a22bdf50a9bc2147a3b4e37c080b95bb52a11811d6b618442f8a3ec0024817799c517602abf52b4e9bde337b2bb812d3982e71bdbbfad5a31142b95a96d150d5fcf4630b4fdcceec23c34de8afb94f38d3535a0c3b22264137ade01b84a24530d2761ade9c07ef62d9b9bb8b416f72325cc27637f3f0b1ecc6c08ea6202f3d4adc63b98f99eccd44dc2a01e4f79cde0cdb465cb5056b25c4607c84b7a52e199ccd0bc595284674450ce55b3c7056e03b9a6d8076e6128ba3fc40f7e23bf1673d41febde66a6d98f84be2abae7ca6d26e3636cedb8f4d4e9c70fe64e40a6875c5115ed7e96a6f7aa80f84e0dc1a99b32d0a637e5740fb28b81d763d29847fbefc2be915f894f570e436460d42cc3ddd9b189d581dc5544f061a785fdc1ca36b4b5cc14ab535ece00f451c1dc46d464099ff99f02fd02f2dd4468a6c55f266f648a170dfb6ab77c0b730dfc1aab06c60c8d773b5057efbace8c2785e9e6c74c8cf039275d81cf7fb547f02461a190fb538474ef59f5f8d1f4454aa877b839c64b027ecbccef1904177b10069c0a9d00ea0f0a2b93d67bf3d10add29100579d4690ed91089eeab9b408097e2568cd7873ec390efc61d9fb0a2420e7d3a84d3cd01db237fde774eb2a6bbd8e61dbb1427ca93e58fcfc3c1c7aba408f68b1de622411db277feda198c5a53f0c07d4bcabf8775e94f0520e8085fc83b810ae16a3cd3c263a54a2e774394cea63aae9f0b2b48407e881ee67cd9944fe4875d7ade9e23dd88f0d091d903ca83fd15e594d316a0880fe89fbb1a15965b5f42a56594d8d3c6c5b30f29b9639252ca4f647c622b4110f1d25eae67afabb4d4f76154dfe0df714eab56cf79b2aec6f55f81605492da6a7c04ce3093202bcb5a7410e9d4b3bbc8a5d7fa4c5bc3b1ad17189cd5ac4b7906f94016acfa0bf76de462861801f37f7d710d7adee8e2c8c97547ee51ff7151323d01433d84b7e3570b9f812511d8f4dd49925c624a8cddd6a376cba7ce3a1d960dc901836130e642199b45ee2de11af7b3ec7a11d1abd498c015c37bd65c81c903aea95c1132dd86d04a772c5fd07b65af686fa1ad35268d47ea815a49cb208ee90c7c975e006ca1362a18d9588ab5b3d95465417d5c56e621b6a0760c5220d23b0452698d116c052395f52f2290b59ba200671e5034041e6f0107caf720a861b3ff89c9e2b2791fd00e83f87ea493d5643f70a1905e45314fb16a43b259c05d1b400be91326074e8db2bf1dde1d6ecd95ead7a4ff8232a70db0974e47f6795e1ce486f7f21502dcf40d18623a6d881fc51e23ec81d37bae5e0576b2b0e99e5117b545d9f3f5b49a92b1d6f714f13d49494f936efb496784797067f451aed103b897f9e9682bf0746f64bde0348d510570e81907701ae17be4fa053bff5cc78337f1670df97741eab225e42f7423274fce134df0a30ee9f2fbd7a8d5e1aca46da81c8510e4dc08086045c6b3a808d5eb3a23f1e553dac603390e41a32b060973285976a24ce93c8c6f8163d96afb9708ea90bb456d13fbaa0a9e08bf3245d219447e0ee65040150d8801b2e0535dd6e14652722516ae1c450d00c9963160e1b020e415899363220483bebfbd6423c7c5adcc81abd86f83cff713d607cac4ff2a86c4a3ba03549c54369b4e02dcbd5778b7a6c74be1917d39f80375573c688501d3ba8541039bd8dee547294bf3125ec09319ad103292b86d9c954b202c3ba66c8ac01645660b4078f44b1b7c053b226291dd7fe12fdfdd9fe6ff254760a75fd3e18a6a130f6a781cea21834aadc9bf723b0f5532ecc52a7507fd0bbc229e0fa4730e4b5f1c6dd01cd6b7881ccbe8a7b8bd6e8c06f979657f5a641e5a9fe5ce36ee78a4968f747e08d9f38707b6c9e091bc388fb5d102d551ca14daa205608ee88aba0e329e5d6404ea1668a2d82fc86f945eda80313fbbe3128a18bd5bebf9c02760abc2a729084556994b3707e286e6e9148bad1bb5aa1d3d9a2e535e77049db3aa61c5c1c90b2cf2cf01929cc1c22ffe9d9e28de60b4c1727eb7ccac3c8a6b5288462194b0109bcca2cfafd913e5a13683d381af4d4916e8adc4049faf411f7ba47fc96624bb110b29a00cfd71de82b1af6c9f90e04c1ecab97e74e10b17307dcf5026b2a1e5a9f43413a705419d03832dbf6bbdb5cd517ed3a8225b17e64dc7c09acf50e07fb5798cd8d2214ec90dff66ae46ab95d331a63d8a4eddcca30b46851ffb21889c87541f7bee16d2b8d080d882e54b83e29a794de1ffc71745254d71b243617676108dc8fff1c825580defd90a460a86b9842e8a3d1b08abc40f992ce391efc3619d64b87c8dbfb134fefc78a875d4d34749acd4c9a2fbce9c68e320381d55d767b16304e48a4516aa7aebda8f91c7f75af7011b3fd4013860f3f0ba7ea2a1f50a57e744e673388153660577e8a22b680fc9cea5add1bd39a43251d38efd6542dd7fe4de2a138b9d93bb608417834721ac37622e67e7a405625dc1217bea06c7e72687761f8cdf6f9d96951d7e32c3eb7e11285e8ecbcd71745a28c67d4e941c94903ca5c3485c87ee2a3304ef5278282d22e7717a6f30c8f7e3e0212150de2a6c6634b2db6a46fc4664c20100183745e1a9c97adb56a51834d40b551d1eff20abec65189d14822cdff425524bcbed6e3fe021ddb852db985c382f51c447f319f5e62c3f438672ae6497b4d9fe0146e0283016501541e03fae25364c37d34ae15f6f209bfced33fabb8e889e0a0bff30756bddd6ba0de7c73fc0fa7e28148e8edfbeed3acc736bbb963f9ab0056e06ee63b22094e61b15f4906b895c886c343ae1adc389cea6233a9fb9373914bf65668adc43534a0c3d167633190ba5b21f0c4e6e4514bc8bec0699f0af743ebca3ce8c572725202f4d88bee1f1658beb3ff8e4018bfafa44e7753a74a50428aaee4969e3e7c7bb7ba71e7453756bf7aa1bd74df5a40c3363c02fd20e06196b20571f31fbd920e9016b794c4b7b78e612ec800bb132d8f875e246a97277a75cfb5fc13c5a09390c455b9f6ebe66fae714046c5a3e09485c1f1f4edc3c26a51ab524df38ebb19470bdbab193c9a906876785977be557ef489d7dc771b56a59175d7c55f4ffb54543b1b65c6e6a7f27rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopencv-4.9.0-150600.3.2.1.src.rpmopencv-docopencv-qt5-doc    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3ed@e@e_@c@c@bbk@bQu@aaa)@a,@`B`%@_`@__]@_^ _>e^^n@^&^%@^O@]@]@]fl]e@]Z@]N]M`@]G@[@[ @[ @ZkZS]@Z[@Z @ZYYZ@YYdYjY5GY5GY*W@WV@WEV@V@V'@V@VяVVzV^@VBU(U@U@T,@axel.braun@gmx.decabelo@opensuse.orgstefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.dechristophe@krop.frstefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.dealarrosa@suse.comstefan.bruens@rwth-aachen.dedmueller@suse.comjengelh@inai.destefan.bruens@rwth-aachen.dealoisio@gmx.comstefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.dedmueller@suse.commliska@suse.czstefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.dedimstar@opensuse.orgstefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.destefan.bruens@rwth-aachen.demarius.kittler@suse.comjengelh@inai.dejbrielmaier@suse.dechristophe@krop.frchristophe@krop.frstefan.bruens@rwth-aachen.dechristophe@krop.frfabian@ritter-vogt.defvogt@suse.comschwab@suse.detchvatal@suse.comstefan.bruens@rwth-aachen.dempluskal@suse.comecsos@opensuse.orgecsos@opensuse.orgmpluskal@suse.commpluskal@suse.comkah0922@gmail.comstefan.bruens@rwth-aachen.detchvatal@suse.comtchvatal@suse.comstefan.bruens@rwth-aachen.deolaf@aepfle.dedimstar@opensuse.orgmartin.liska@suse.comtoddrme2178@gmail.comtoddrme2178@gmail.comtittiatcoke@gmail.comjoerg.lorenzen@ki.tng.dejoerg.lorenzen@ki.tng.deolaf@aepfle.dealarrosa@suse.comohering@suse.deolaf@aepfle.demlin@suse.comcoolo@suse.comcoolo@suse.comtittiatcoke@gmail.com- Add %{?sle15allpythons} and build python bindings for all configured versions (also for Tumbleweed)- update to 4.9.0, highlights below, for details check https://github.com/opencv/opencv/wiki/ChangeLog#version490 Highlights of this release: * Core Module: + Added cv::broadcast + Fixed several rounding issues on ARM platform + Added detection & dispatching of some modern NEON instructions (NEON_FP16, NEON_BF16) + Added optimization for LoongArch 128-bit vector, detection & dispatching of LoongArch * DNN module patches: + Experimental transformers support + ONNX Attention layer support + ONNX Einsum layer support + OpenVINO backend for INT8 models + ONNX Gather Elements layer + ONNX InstanceNorm layer + Better support of ONNX Expand layer with cv::broadcast + Improved DNN graph fusion with shared nodes and commutative operations + New fastGEMM implementation and several layers on top of it + Winograd fp16 optimizations on ARM + Tests and multiple fixes for Yolo family models support + New layers support and bug fixes in CUDA backend: GEMM, Gelu, Add + CANN backend: bug fix, support HardSwish, LayerNormalization and InstanceNormalization + LayerNormalization: support OpenVINO, OpenCL and CUDA backend. * G-API module: + Intel® OpenVINO™ DL inference backend: - Introduced "inferenence only" ("benchmark") mode in the OV2.0 backend. - Fixed model layout setting issue in the OV2.0 backend. - Fixed/relaxed various asserts in the OV2.0 backend. + Core and image processing functionality: - Fluid kernels were rewritten to new universal intrinsics. Thanks for this contribution! + Streaming and video functionality: - Introduced a QueueSource: an alternative way to manually push input frames to the G-API pipeline in the streaming mode. - Introduced VAS Object Tracker (OT) for the various video analytics scenarios. + Python bindings: - Exposed VAS OT in G-API Python bindings. + Other changes and fixes: - Updated ADE (the G-API's graph library) to the latest version. - Various code clean-ups and warning fixes. * Objdetect module: + Implemented own QR code decoder as replacement for QUIRC library + Bug fixes in QR code encoder version estimation + More accurate Aruco marker corner refinement with dynamic window + Fixed contour filtering in ArUco + QR code detection sample for Android + Multiple local bug fixes and documentation update for Aruco makers, Charuco boards and QR codes. * Video: + Google Summer of Code: added a new object tracking API TrackerVit for a vision transformer-based VitTrack. This work is done by LIU Pengyu. * VideoIO: + Videoio: Add raw encoded video stream encapsulation to cv::VideoWriter with CAP_FFMPEG + Fix GStreamer backend with manual pipelines. * Calibration module: + Multiple fixes and improvements chess board calibration rig detector. + calibrateCamera throws exception, if calibration system is underconstrained. + Fixed bug in findEssentialMat with USAC + Fixed out-of-image access in cv::cornerSubPix + Fixed crash in ap3p + Fixed stereoRectify image boundaries + Fixed "use after free" issue in essential_solver.cpp * Python Bindings: + Added type stub generation for missed types and manually wrapped types. + Added read-only flag handling for Numpy arrays. + Fixed exception handling and bindings for in module. + Improved error messages in Numpy array type handling. + Fixed constructors documentation in Python. * Platforms and hardware Support: + Experimental CUDA support as first class language in CMake + Added experimental support for Apple VisionOS platform + Add support Orbbec Gemini2 and Gemini2 XL camera + Fix fullscreen behavior on macOS * Other: + OpenCV Summer of Code: semi-automated refactoring across multiple pull requests by HAN Liutong made our CPU-optimized code compatible with SIMD with variable vector length (RISC-V RVV)- update to 4.8.1 * WebP security update for CVE-2023-4863 * Depthwise convolution 5x5 performance regression fix - update to 4.8.0, highlights below, for details check https://github.com/opencv/opencv/wiki/ChangeLog#version480 Highlights of this release: * DNN module patches: + TFLite models support, including int8 quantized models. + Enabled DNN module build without Protobuf dependency. + Improved layers => supported more models: - ONNX: Layer normalization, GELU and QLinearSoftmax. - Fixes in CANN backend: * support ONNX Split, Slice, Clip (Relu6) and Conv with auto_pad. * support ONNX Sub, PRelu, ConvTranspose. - Reduce Refactor for robustness and potential follow-up improvements. - Fixes for Segment Anything Model by Meta. - Fixes in nary element wise layer about broadcast: * Fixes in CPU. * and Fixes in CUDA backend. - Further increased DNN speed on ARM and X86 by improving convolution, covering 1D and 3D cases, supporting convolution+element-wise op fusion. - Added full FP16 computation branch on ARMv8 platform, 1.5x faster than FP32 (FP16 Winograd is still pending). - Vulkan backend refactor for better performance and robustness. It runs 4X faster than before. - Added API blobFromImageParam to build network inputs with pre-processings. - Modern OpenVINO support. * G-API module: + Intel® OpenVINO™ inference backend: - Streamlined preprocessing in OpenVINO Inference Engine (ie) API 1.0 backend. Note: this backend will be deprecated after OpenVINO removes the API 1.0 support in its subsequent releases. - Aligned OpenVINO IE API 1.0 backend with the latest OpenVINO 2023.0 (as some features were removed there). - Introduced a brand new OpenVINO API 2.0 backend. - Implemented the required inference operations for the OpenVINO API 2.0 backend. + Python bindings: - Exposed varions normalization options for ONNX RT backend in Python bindings. - Exposed Fluid kernels and kernel package manipulation functions (combine()) in Python. - Fixed issues in Stateful Python kernel state handling; also fixed various issues in Python tests. - Fixed issue with opaque kernel output information handling which broke Python custom kernels. + Samples: - Introduced a new Segmentation demo with desync() to enable slow-running networks in the real-time. - Updated stats calculation in the G-API-based pipeline modelling tool. + Other changes and fixes: - Fixed tolerance in Fluid resize tests to avoid issues on ARM. - Fluid backend: extended Merge3 kernel with more supported data types. - Fixed standalone mode compilation issues. * Objdetect module: + FaceDetectorYN upgrade for better performance, accuracy and facial landmarks support. + New QR code detection algorithm based on ArUco code. + Bar code detector and decoder moved from Contrib to main repository. + Introduced common API for all graphical codes like bar codes and QR codes. + Added flag for legacy pre-4.6.0 ChAruco boards support. + Multiple bug fixes and improvements in QR code detection and decoding pipelines. + Multiple bug fixes and improvements in ArUco based pipelines. * Calibration module: + USAC framework improvements. + Fixed stddev estimation in camera calibration pipelines. + Fixed incorrect pixel grid generation in icvGetRectangles that improves accuracy of getOptimalNewCameraMatrix, stereoRectify and some other calibration functions. Charuco board support in patterns generator, interactive calibration tool and calibration samples. * Image processing module: + Various fixes in line segments detector. + Fixed even input dimensions for INTER_NEAREST_EXACT in resize. + Optimise local cost computation in IntelligentScissorsMB::buildMap. + Keep inliers for linear remap with BORDER_TRANSPARENT + Fix distransform to work with large images. * Features2d module: + SIFT accuracy improvements. * Core module: + Added REDUCE_SUM2 option to cv::reduce. + Introduced cv::hasNonZero function. + Update IPP binaries update to version 20230330. + Improved RISC-V RVV vector extensions support. - Support RVV v0.11 intrinsics available in LLVM 16 and GCC 13 - Support build with T-Head RISC-V toolchain (RVV 0.7.1 and 1.0) + Several OpenCL vendor and version handling improvements. * Multimedia: + Added AVIF support through libavif. + Orbbec Femto Mega cameras support. + HEVC/H265 support in VideoWriter with MS Media Foundation backend. + Fixed FPS computation on some videos for FFmpeg backend. + Added support for VideoCapture CAP_PROP_AUTO_WB and CV_CAP_PROP_WHITE_BALANCE_BLUE_U for DShow backend. + Fixes OBS Virtual Camera capture. + CV_32S encoding support with tiff. * Python Bindings: + Python typing stubs. + Fix reference counting errors in registerNewType. + Fixed ChAruco and diamond boards detector bindings. + Added bindings to allow GpuMat and Stream objects to be initialized from memory initialized in other libraries + np.float16 support. + Python bindings for RotatedRect, CV_MAKETYPE, CV_8UC(n). * JavaScript bindings: + Added possibility for disabling inlining wasm in opencv.js + Extended JS bindings for Aruco, Charuco, QR codes and bar codes. * Other: + Several critical issue fixes in wechat_qrcode module (opencv_contrib)- update to 4.7.0, highlights below, for details check https://github.com/opencv/opencv/wiki/ChangeLog#version470 Highlights of this release: * DNN: + New ONNX layers: Scatter and ScatterND, Tile, ReduceL1, ReduceMin and more. + Signinficant performance optimization for convolutions. Winograd algoritm implementation. + Element-wise operation (add, sub, mul, div, ...): Broadcasting. + OpenVino 2022.1 support. + CANN backend support. * Algorithms: + ArUco markers and April tags support including ChAruco and diamond boards detection and calibration. + QR code detection and decoding quality imrovement. Alignment markers support. Benchmark for QR codes: link + Nanotrack v2 tracker based on neural networks. + Stackblur algoruthm implementation. * Multimedia: + FFmpeg 5.x support. + CUDA 12.0 support. Hardware accelerated video codecs support on NVIDIA platforms with modern Video Codec SDK (NVCUVID and NVENCODEAPI). + CV_16UC1 read/write video support with FFmpeg. + Orientation meta support on Mac with native media API. + New iterator-based API for multi-page image formats. + libSPNG support for PNG format. + SIMD acceleration for self-built libJPEG-Turbo + H264/H265 support on Android. Multiple fixes for video decoder, endcoder and camera memory layout. * G-API + Exposed all core APIs to Python, including stateful kernels. * Optimization: + New universal intrinsics backend for scalable vector instructions. The first scalable implementation for RISC-V RVV 1.0. + DNN module patches: - Improved layers / supported more models: * Scatter and ScatterND #22529, Tile #22809 * Fixes in Slice (support negative step #22898) * Support some reduce layers of ONNX #21601 - Added CANN backend support #22634. Link to the manual: https://github.com/opencv/opencv/wiki/Huawei-CANN-Backend. - Added bacthed NMS for multi-class object detection #22857 - Accelerating convolution, especially for ARM CPU. - Winograd's convolution optimization + And many other contributions: + Added n-dimensional flip to core #22898 + Add StackBlur for imgproc #20379 - Removed upstream opencv-ffmpeg5.patch- Add upstream change to fix include issue with FFmpeg 5: * opencv-ffmpeg5.patch- update to 4.6.0, highlights below, for details check https://github.com/opencv/opencv/wiki/ChangeLog#version460 * OpenCV project infrastructure migrating on GitHub Actions workflows for CI and release purposes * Added support for GCC 12, Clang 15 * Added support for FFmpeg 5.0 * DNN module patches: + Improved layers / activations / supported more models: - LSTM (+CUDA), resize (+ONNX13), Sign, Shrink, Reciprocal, depth2space, space2depth - fixes in Reduce, Slice, Expand + Disabled floating-point denormals processing #21521 + Changed layer names in ONNX importer to support "output" entities properly + Added TIM-VX NPU backend support: https://github.com/opencv/opencv/wiki/TIM-VX-Backend-For-Running-OpenCV-On-NPU + Added Softmax parameter to ClassificationModel + Added audio speech recognition sample (C++) #21458 + Intel® Inference Engine backend (OpenVINO): - added initial support for OpenVINO 2022.1 release - removed support of legacy API (dropped since 2020.3) * G-API module: + G-API framework: - Introduced a Grayscale image format support for cv::MediaFrame: #21511; - Enabeled .reshape() support in the CPU backend: #21669; - Fixed possible hang in streaming execution mode with constant inputs: #21567; - Introduced proper error/exception propagation in the asynchronous streaming execution mode: #21660; - Fixed new stream event handling: #21731. + Fluid backend: - Fixed horizontal pass in the Resize kernel, fixed Valgrind issues: #21144; - Extended Resize kernel with F32 version: #21678, added AVX: #21728. - Enabled dynamic dispatch for Split4 kernel: #21520; - Enabled dynamic dispatch for Merge3 kernel: #21529; - Added a SIMD version for DivC kernel: #21474; - Added a SIMD version for DivRC kernel: #21530; - Enabled dynamic dispatch for Add kernel: #21686; - Enabled dynamic dispatch for Sub kernel: #21746; - Added a SIMD version for ConvertTo kernel: #21777; - Fixed kernel matrix size for Sobel kernel: #21613. + Intel® OpenVINO™ inference backend: - Fixed NV12 format support for remote memory when OpenVINO remote context is used: #21424. - Implemented correct error handling in the backend: #21579. - Fixed ngraph warnings #21362. + OpenCV AI Kit backend: - Introduced a new backend to program OpenCV AI Kit boards via G-API. Currently the backend is in experimental state, but allows to build Camera+NN pipeline and supports heterogeneity (mixing with host-side code): #20785, #21504. + Media integration: - Enabled GPU inference with oneVPL and DirectX11 on Windows in Intel OpenVINO inference backend: #21232, #21618, #21658, #21687, [#21688]. Now GPU textures decoded by oneVPL decoder can be preprocessed and inferred on GPU with no extra host processing. - Enabled oneVPL support on Linux: #21883. - Extended GStreamer pipeline source with Grayscale image format support: #21560. + Python bindings: - Exposed GStreamer pipeline source in Python bindings: #20832. - Fixed Python bindings for CudaBufferPool, cudacodec and cudastereo modules in OpenCV Contrib. + Samples: - Introduced a pipeline modelling tool for cascaded model benchmarking: #21477, #21636, #21719. The tool supports a declarative YAML-based config to describe pipelines with simulated pre-/post-processing. The tool collects and reports latency and throughput information for the modelled pipeline. + Other changes and fixes: - Moved GKernelPackage into cv:: namespace by default, its cv::gapi:: alias remain for compatibility: #21318; - Moved Resize kernel from core to imgproc kernel packages for CPU, OpenCL, and Fluid backends: #21157. Also moved tests appropriately: #21475; - Avoided sporadic test failures in DivC: #21626; - Fixed 1D Mat handling in the framework: #21782; - Reduced the number of G-API generated accuracy tests: #21909. - Drop upstream patches: * 0001-highgui-Fix-unresolved-OpenGL-functions-for-Qt-backe.patch * videoio_initial_FFmpeg_5_0_support.patch * videoio_ffmpeg_avoid_memory_leaks.patch- Add upstream patches for FFmpeg 5.0 support, add * videoio_initial_FFmpeg_5_0_support.patch * videoio_ffmpeg_avoid_memory_leaks.patch- Restore memoryperjob constraint, avoid being scheduled on a 16 core system and use less than half of it. - Adjust %limit_build to 1800, to avoid recurrent build failures on aarch64. (People should not care for their pet architecture only, but also carefully check if they break others.) - Add missing libopencv_aruco dependency in devel package.- Remove the memoryperjob constraint which doesn't work as one would expect and breaks ppc64 builds. - Use %limit_memory -m 1700 to set the number of concurrent jobs to a sane value and fix OOM errors when building in workers with many cores. - Decrease the disk constraint to 9G which seems to be enough- update to 4.5.5, highlights below, for details check https://github.com/opencv/opencv/wiki/ChangeLog#version455 * Audio support as part of VideoCapture API: GStreamer #21264 * Updated SOVERSION handling rules: #21178 * DNN module patches: + Added tests to cover ONNX conformance test suite: #21088 + Improved layers / activations / supported more models + Upgraded builtin protobuf from 3.5.2 to 3.19.1 + More optimizations for RISC-V platform + Intel® Inference Engine backend ( OpenVINO™ ): added support for OpenVINO 2021.4.2 LTS release * G-API module: + G-API framework: - Fixed issue with accessing 1D data from cv::RMat: #21103 - Restricted passing the G-API types to graph inputs/outputs for execution: #21041 - Various fixes in G-API Doxygen reference: #20924 - Renamed various internal structures for consistency #20836 #21040 + Fluid backend: - Introduced a better vectorized version of Resize: #20664. - Added vectorized version of Multiply kernel: #21024 - Added vectorized version of Divide kernel: #20914 - Added vectorized version of AddC kernel: #21119 - Added vectorized version of SubC kernel: #21158 - Added vectorized version of MulC kernel: #21177 - Added vectorized version of SubRC kernel: #21231 - Enabled SIMD dispatching for AbsDiffC: #21204 + OpenCL backend: - Fixed sporadic test failures in Multiply kernel running on GPU: #21205 + Intel® OpenVINO™ inference backend: - Extended ie::Params to support static batch size as input to inference: #20856 - Enabled 2D input tensor support in IE backend: #20925 - Fixed various issues with imported (pre-compiled) networks: #20918 + Media integration: - Introduced a GStreamer-based pipeline source for G-API: #20709 - Completed the integration of Intel® oneVPL as a pipeline source for G-API #20773 with device selection #20738, asynchronous execution #20901, intial demux support #21022, and GPU-side memory allocation via DirectX 11 #21049. + Samples: - Replaced custom kernels with now-standard G-API operations in several samples #21106 - Moved API snippets from G-API samples to a dedicated place #20857 + Other changes and fixes: - Fixed various static analysis issues for OpenVINO 2021.4 release: #21083 and #21212 - Fixed various build warnings introduced after OpenVINO update: #20937 - Continued clean-up in the G-API test suite on GTest macros [#20922] and test data #20995 - Added custom accuracy comparison functions to Fluid performance tests: #21150. * And many other contributions: + Added QRcode encoder: #17889 + GSoC - OpenCV.js: Accelerate OpenCV.js DNN via WebNN: #20406 + Add conventional Bayer naming: #20970 + (opencv_contrib) Add Radon transform function to ximgproc: #3090 + (opencv_contrib) New superpixel algorithm (F-DBSCAN): #3093 + Created Stitching Tool: #21020 + Improve CCL with new algorithms and tests: #21275 + (opencv_contrib) Update ArUco tutorial: #3126 - Adjust memory constraints (mostly required for aarch64 on Leap) - Add 0001-highgui-Fix-unresolved-OpenGL-functions-for-Qt-backe.patch- update to 4.5.4: * 8-bit quantization in the dnn module * Improved Julia bindings * Speech recognition sample * dnn module optimizations for RISC-V * Tutorial about universal intrinsics and parallel_for usage * Improvements in the dnn module: - New layers and models support - Some existing layers have been fixed - Soft-NMS implementation - Supported OpenVINO 2021.4.1 LTS release- Remove dependency on IlmBase, opencv never uses this directly.- update to 4.5.2, highlights below, for details check https://github.com/opencv/opencv/wiki/ChangeLog#version452 * core: added support for parallel backends. * imgproc: added IntelligentScissors implementation (JS demo). * videoio: improved hardware-accelerated video de-/encoding tasks. * DNN module: + Improved debugging of TensorFlow parsing errors: #19220 + Improved layers / activations / supported more models: - optimized: NMS processing, DetectionOutput - fixed: Div with constant, MatMul, Reshape (TensorFlow behaviour) - added support: Mish ONNX subgraph, NormalizeL2 (ONNX), LeakyReLU (TensorFlow), TanH + SAM (Darknet), Exp + Intel® Inference Engine backend ( OpenVINO™ ): added support for OpenVINO 2021.3 release * G-API module: + Python support: - Introduced a new Python backend - now G-API can run custom kernels written in Python as part of the pipeline: #19351 - Extended Inference support in the G-API bindings: #19318 - Added more graph data types in the G-API bindings: #19319 + Inference support: - Introduced dynamic input / CNN reshape functionality in the OpenVINO inference backend #18240 - Introduced asynchronous execution support in the OpenVINO inference backend, now it can run in multiple parallel requests to increase stream density/throughput: #19487, #19425 - Extended supported data types with INT64/INT32 in ONNX inference backend and with INT32 in the OpenVINO inference backend #19792 - Introduced cv::GFrame / cv::MediaFrame and constant support in the ONNX backend: #19070 + Media support: - Introduced cv::GFrame / cv::MediaFrame support in the drawing/rendering interface: #19516 - Introduced multi-stream input support in Streaming mode and frame synchronization policies to support cases like Stereo: #19731 - Added Y and UV operations to access NV12 data of cv::GFrame at the graph level; conversions are done on-the-fly if the media format is different: #19325 + Operations and kernels: - Added performance tests for new operations (MorphologyEx, BoundingRect, FitLine, FindContours, KMeans, Kalman, BackgroundSubtractor) - Fixed RMat input support in the PlaidML backend: #19782 - Added ARM NEON optimizations for Fluid AbsDiffC, AddWeighted, and bitwise operations: #18466, #19233 - Other various static analysis and warning fixes + Documentation: - [GSoC] Added TF/PyTorch classification conversion: #17604 - [GSoC] Added TF/PyTorch segmentation conversion: #17801 - [GSoC] Added TF/PyTorch detection model conversion: #18237 - Updated documentation to address Wide Universal Intrinsics (WUI) SIMD API: #18952 + And many other great contributions from OpenCV community: - core: cuda::Stream constructor with stream flags: #19286 - highgui: pollKey() implementation for w32 backend: #19411 - imgcodecs: Added Exif parsing for PNG: #19439 - imgcodecs: OpenEXR compression options: #19540 - imgproc: connectedComponents optimizations: (Spaghetti Labeling): #19631 - videoio: Android NDK camera support #19597 - (contrib) WeChat QRCode module open source: #2821 - (contrib) Implemented cv::cuda::inRange(): #2803 - (contrib) Added algorithms from Edge Drawing Library: #2313 - (contrib) Added Python bindings for Viz module: #2882 - Add libva build dependency for HW accelerated videoio - Slight bump for memory constraints- Enable aruco module (recognize markers to detect camera pose)- update to 4.5.1, highlights below, for details check https://github.com/opencv/opencv/wiki/ChangeLog#version451 * Continued merging of GSoC 2020 results: + Develop OpenCV.js DNN modules for promising web use cases together with their tutorials + OpenCV.js: WASM SIMD optimization 2.0 + High Level API and Samples for Scene Text Detection and Recognition + SIFT: SIMD optimization of GaussianBlur 16U * DNN module: + Improved layers / activations / supported more models: - optimized: 1D convolution, 1D pool - fixed: Resize, ReduceMean, Gather with multiple outputs, importing of Faster RCNN ONNX model - added support: INT32 ONNX tensors + Intel® Inference Engine backend (OpenVINO): - added support for OpenVINO 2021.2 release - added preview support for HDDL + Fixes and optimizations in DNN CUDA backend (thanks to @YashasSamaga) * G-API Framework: + Introduced serialization for cv::RMat, including serialization for user-defined memory adapters + Introduced desync, a new Operation for in-graph asynchronous execution - to allow different parts of the graph run with a different latency + Introduced a notion of "in-graph metadata", now various media-related information can be accessed in graph directly (currently only limited to timestamps and frame IDs) + Introduced a new generic task-based executor, based on Threading Building Blocks (TBB) + Extended infer<>() API to accept a new cv::GFrame data structure to allow handling of various media formats without changes in the graph structure + Made copy() an intrinsic where real copy may not happen (optimized out) based on graph structure, extended it to support cv::GFrame + Various fixes, including addressig static analysis, documentation, and test issues * G-API Operations: + Introduced new operations morphologyEx, boundingRect, fitLine, kmeans, Background Subtractor, Kalman filter * G-API Intel® Inference Engine backend (OpenVINO): + Extended cv::gapi::ie::Params<> to import CNN networks (e.g. pre-compiled ones) instead of passing .XML and .BIN files; also enabled configuring Inference Engine plugins via this structure + Added a new overload to infer<>() to run inference over a single region of interest + Added support for cv::MediaFrame input data type (projected from cv::GFrame) and handling for NV12 input image format * G-API Python bindings: + Exposed G-API's Inference and Streaming APIs in the OpenCV Python bindings + Added initial Python support for cv::GArray data structure * Significant progress on RISC-V port. - Updated constraints, bump memory to 5 GB - Cleaned up spec file- Split library package, move all libraries with external dependencies (Qt5, ffmpeg, gstreamer) into separate packages - Move haar and LBP cascades into separate package, pull in from objdetect and face (detect) libraries.- update to 4.5.0, see https://github.com/opencv/opencv/wiki/ChangeLog#version450 for details, highlights: * OpenCV license has been changed to Apache 2 (OpenCV 3.x will keep using BSD) * GSoC is over, all projects were success and most of them have already been merged. Optimizations for RISC-V, bindings for Julia language, real-time single object tracking, improved SIFT and others * OpenJPEG is now used by default for JPEG2000 * Supported multiple OpenCL contexts * Improvements in dnn module: + Support latest OpenVINO 2021.1 release + Tengine lite support for inference on ARM + Many fixes and optimizations in CUDA backend * Added Python bindings for G-API module * Multiple fixes and improvements in flann module * Added Robot-World/Hand-Eye calibration function- update to 4.4.0: * SIFT (Scale-Invariant Feature Transform) algorithm has been moved to the main repository (patent on SIFT is expired) * DNN module: * State-of-art Yolo v4 Detector: #17148. * onnx: Add support for Resnet_backbone * EfficientDet models * add text recognition sample / demo * FlowNet2 optical flow * Intel Inference Engine backend * added support for OpenVINO 2020.3 LTS / 2020.4 releases * support of NN Builder API is planned for removal in the next release * Many fixes and optimizations in CUDA backend * Obj-C / Swift bindings: #17165 * Julia bindings as part of ongoing GSoC project * BIMEF: A Bio-Inspired Multi-Exposure Fusion Framework for Low-light Image Enhancement * Enable Otsu thresholding for CV_16UC1 images * Add Stroke Width Transform algorithm for Text Detection * Planned migration on Apache 2 license for next releases - remove opencv-includedir.patch (obsolete)- Use memoryperjob constraint instead of %limit_build macro.- Update to 4.3.0 * DNN module: + Improved layers / activations / supported more models: - ONNX: LSTM, Broadcasting, Algebra over constants, Slice with multiple inputs - DarkNet: grouped convolutions, sigmoid, swish, scale_channels - MobileNet-SSD v3: #16760 + New samples / demos: - Clothes parts segmentation and CP-VTON - DaSiamRPN tracker Intel® Inference Engine backend (OpenVINO™): - added support for custom layers through nGraph OpenVINO API: #16628 - nGraph OpenVINO API is used by default: #16746 + Many fixes and optimizations in CUDA backend (thanks to @YashasSamaga) + OPEN AI LAB team submitted the patch that accelerates OpenCV DNN on ARM using their Tengine library * G-API module: + Introduced a new graph-level data type GOpaque. This type can be used to pass arbitrary user data types between G-API nodes in the graph (supported for CPU/OpenCV backend only). + Introduced a way to declare G-API CPU (OpenCV) kernels in-place + Added a new sample "Privacy masking camera", combining Deep Learning with traditional Image Processing (link) + Added more operations in the default library: WarpAffine, WarpPerspective, NV12toGray. * Performance improvements: + IPP-ICV library with CPU optimizations has been updated to version 2020.0.0 Gold + SIMD intrinsics: integral, resize, (opencv_contrib) RLOF implementation #2476 * And many other great contributions from OpenCV community: + (opencv_contrib) Computer Vision based Alpha Matting (GSoC 2019) #2306 + calib3d: findChessboardCornersSB improvements: #16625 + calib3d: updated documentation for RT matrices: #16860 + core: improved getNumberOfCPUs(): #16268 + imgproc: new algorithm HOUGH_GRADIENT_ALT is added to HoughCircles() function #16561. It has much better recall and precision + imgcodecs: added initial support for OpenJPEG library (version 2+): #16494 + highgui(Qt): added Copy to clipboard: #16677 + dnn: TensorFlow, Darknet and ONNX importers improvements by @ashishkrshrivastava + (opencv_contrib) added rapid module for silhouette based 3D object tracking: #2356 + (opencv_contrib) SIFT detector is enabled by default due patents expiration (without requirement of NONFREE build option) + help materials: OpenCV Cheat Sheet in Python: #4875 * Changes that can potentially break compatibility: + image filtering functions throws exception on empty input (voting results) - Packaging changes: * Stop mangling CMake diagnostic output, no dependency versions end up in the packages anyway, drop opencv-build-compare.patch * Set empty OPENCV_DOWNLOAD_TRIES_LIST, skip downloads even when network is available during builds (e.g. local build). * Drop upstream GLES patches: + 0001-Do-not-include-glx.h-when-using-GLES.patch + opencv-gles.patch- Disable Python 2 bindings for Tumbleweed.- Drop Jasper (i.e jpeg2k) support (boo#1130404, boo#1144260) JasPer is unmaintained, CVEs are not being addressed (some issues received patches submitted to the upstream github project, but are not being merged, other CVEs are considered unfixable). openSUSE follows other distros in dropping JasPer now (much later than most others, incl. Debian).- Add webp build dependency to use system libwebp instead of bundled one. - Enable dispatch of AVX512 optimized code.- Update to 4.2.0 * DNN module: + Integrated GSoC project with CUDA backend: #14827 + Intel® Inference Engine backend ( OpenVINO™ ): - support for nGraph OpenVINO API (preview / experimental): #15537 * G-API module: + Enabled in-graph inference: #15090. Now G-API can express more complex hybrid CV/DL algorithms; - Intel® Inference Engine backend is the only available now, support for DNN module will be added in the future releases. + Extended execution model with streaming support: #15216. Decoding, image processing, inference, and post-processing are now pipelined efficiently when processing a video stream with G-API. + Added tutorials covering these new features: Face analytics pipeline and a sample Face beautification algorithm. * Performance improvements: + SIMD intrinsics: StereoBM/StereoSGBM algorithms, resize, integral, flip, accumulate with mask, HOG, demosaic, moments + Muti-threading: pyrDown * And many other great patches from OpenCV community: + VideoCapture: video stream extraction (demuxing) through FFmpeg backend. + VideoCapture: waitAny() API for camera input multiplexing (Video4Linux through poll() calls). + (opencv_contrib) new algorithm Rapid Frequency Selective Reconstruction (FSR): #2296 + tutorial. + (opencv_contrib) RIC method for sparse match interpolation: #2367. + (opencv_contrib) LOGOS features matching strategy: #2383. * Breaking changes: + Disabled constructors for legacy C API structures. + Implementation of Thread Local Storage (TLS) has been improved to release data from terminated threads. API has been changed. + Don't define unsafe CV_XADD implementation by default. + Python conversion rules of passed arguments will be updated in next releases: #15915.- Limit build parallelism with limit_build, some ARM and PPC workers have a high SMP/memory ratio and run out of memory otherwise. - Apply memory constraints (3GB) to all architectures, avoid being scheduled on very weak workers.- Update to 4.1.2 * DNN module: + Intel Inference Engine backend (OpenVINO): - 2019R3 has been supported - Support modern IE Core API - New approach for custom layers management. Now all the OpenCV layers fallbacks are implemented as IE custom layers which helps to improve efficiency due less graph partitioning. - High-level API which introduces dnn::Model class and set of task-specific classes such dnn::ClassificationModel, dnn::DetectionModel, dnn::SegmentationModel. It supports automatic pre- and post-processing for deep learning networks. * Performance improvements and platforms support: + MSA SIMD implementation has been contributed for MIPS platforms: https://github.com/opencv/opencv/pull/15422 + OpenCV.js optimization (threading and SIMD as part of GSoC project): https://github.com/opencv/opencv/pull/15371 + More optimizations using SIMD intrinsics: dotProd, FAST corners, HOG, LK pyramid (VSX), norm, warpPerspective, etc + Fixed detection of Cascade Lake CPUs * And many other great patches from OpenCV community: + GUI: support topmost window mode (Win32/COCOA): https://github.com/opencv/opencv/pull/14872 + Java: fix Mat.toString() for higher dimensions: https://github.com/opencv/opencv/pull/15181 + Implementation of colormap "Turbo" https://github.com/opencv/opencv/pull/15388 + QR-Code detection accuracy improvement: https://github.com/opencv/opencv/pull/15356 + GSoC: Add learning-based super-resolution module: https://github.com/opencv/opencv_contrib/pull/2229 and https://github.com/opencv/opencv_contrib/pull/2231 + Detection accuracy improvement of the white marker aruco corners: https://github.com/opencv/opencv_contrib/pull/2236 + Added pattern generator tool for aruco: https://github.com/opencv/opencv_contrib/pull/2250 + and special thanks to @sturkmen72 for improvind and cleaning up code of samples/tutorials * Breaking changes: + fixed values thresholding accuracy in calcHist() * Security fixes: CVE-2019-15939 (boo#1149742). - Enable Graph API (G-API) - Minor spec file cleanup- Include pkg-config file in opencv-devel package * Add opencv-includedir.patch- Avoid use of ®/™ signs in specfiles as per guidelines.- Disable LTO on ppc64le for now, as it fails to build when enabled (boo#1146096).- Increase the disk space needed to build opencv.- Update to 4.1.1 * DNN module: * 3D convolution networks initial support * A lot of improvements for ONNX and TenforFlow importers * Performance improvements * Added IPPE method for planar pose estimation in solvePnP * Added solvePnPRefineLM and solvePnPRefineVVS * Security fixes: CVE-2019-14491 (boo#1144352), CVE-2019-14492 (boo#1144348). - Check https://github.com/opencv/opencv/wiki/ChangeLog#version411 for the complete list of changes. - Drop fix_processor_detection_for_32bit_on_64bit.patch. Fixed upstream - Drop 0001-Handle-absolute-OPENCV_INCLUDE_INSTALL_PATH-correctl.patch Fixed upstream - Refresh 0001-Do-not-include-glx.h-when-using-GLES.patch and opencv-build-compare.patch.- Update to version 4.1.0 * DNN module: + Reduced peak memory consumption for some models up to 30%. + Inference Engine - Inference Engine 2018R3 is now a minimal supported version of IE. - Myriad X (Intel® Neural Compute Stick 2) is now supported and tested. - Automatic IR network reshaping for different inputs. - Improved samples to work with models from OpenVINO Open Model Zoo + New networks from TensorFlow Object Detection API: Faster-RCNNs, SSDs and Mask-RCNN with dilated convolutions, FPN SSD * Performance improvements: + More optimization using AVX2 instruction set. + Automatic runtime dispatching is available for large set of functions from core and imgproc modules. * Other improvements: + Matplotlib Perceptually Uniform Sequential colormaps + Add keypoints matching visualization for real-time pose estimation tutorial + Add Hand-Eye calibration methods + Java: improved support for multidimensional arrays (Mat) + Dynamically loaded videoio backends (FFmpeg, GStreamer) + opencv_contrib: Robust local optical flow (RLOF) implementations + opencv_contrib: Implementation of Quasi Dense Stereo algorithm + opencv_contrib: New module: Image Quality Analysis (IQA) API + opencv_contrib: BRISQUE No Reference Image Quality Assessment (IQA) API Check https://github.com/opencv/opencv/wiki/ChangeLog#version410 - Update to version 4.0.0 * A lot of C API from OpenCV 1.x has been removed. The affected modules are objdetect, photo, video, videoio, imgcodecs, calib3d. * Persistence (storing and loading structured data to/from XML, YAML or JSON) in the core module has been completely reimplemented. * OpenCV is now C++11 library and requires C++11-compliant compiler. Thanks to the extended C++11 standard library, we could get rid of hand-crafted cv::String and cv::Ptr. Now cv::String == std::string and cv::Ptr is a thin wrapper on top of std::shared_ptr. Also, on Linux/BSD for cv::parallel_for_ we now use std::thread's instead of pthreads. * DNN improvements * Completely new module opencv_gapi has been added. It is the engine for very efficient image processing, based on lazy evaluation and on-fly construction. * Performance improvements A few hundreds of basic kernels in OpenCV have been rewritten using so-called "wide universal intrinsics". Those intrinsics map to SSE2, SSE4, AVX2, NEON or VSX intrinsics, depending on the target platform and the compile flags. * QR code detector and decoder have been added to opencv/objdetect module. * The popular Kinect Fusion algorithm has been implemented, optimized for CPU and GPU (OpenCL), and integrated into opencv_contrib/rgbd module. * Very efficient and yet high-quality DIS dense optical flow algorithm has been moved from opencv_contrib to opencv, video module. See the example. * The slower TV L1 optical flow algorithm has been moved to opencv_contrib. Check https://github.com/opencv/opencv/wiki/ChangeLog#version400 - Drop obsolete opencv-lib_suffix.patch - Add 0001-Handle-absolute-OPENCV_INCLUDE_INSTALL_PATH-correctl.patch - As this is a major version upgrade, the old 3.4.x package is still available as opencv3- Update to 3.4.3 * Compatibility fixes with python 3.7 * Added a new computational target DNN_TARGET_OPENCL_FP16 * Extended support of Intel's Inference Engine backend * Enabled import of Intel's OpenVINO pre-trained networks from intermediate representation (IR). * tutorials improvements Check https://github.com/opencv/opencv/wiki/ChangeLog#version343 for the complete changelog. - Drop fix-build-i386-nosse.patch, build-workaround-issues-with-c.patch (fixed upstream) - Refresh patches- Add patch to fix use of headers from C: * build-workaround-issues-with-c.patch- Update to 3.4.1: * Added support for quantized TensorFlow networks * OpenCV is now able to use Intel DL inference engine as DNN acceleration backend * Added AVX-512 acceleration to the performance-critical kernels * Fix cmake mapping of RelWithDebInfo (boo#1154091). * For more information, read https://github.com/opencv/opencv/wiki/ChangeLog#version341 - Update contrib modules to 3.4.1: * No changelog available - Change mechanism the contrib modules are built - Include LICENSE of contrib tarball as well - Build with python3 on >= 15 - Add patch to fix build on i386 without SSE: * fix-build-i386-nosse.patch - Refresh patches: * fix_processor_detection_for_32bit_on_64bit.patch * opencv-build-compare.patch - Mention all libs explicitly - Rebase 3.4.0 update from i@marguerite.su - update to 3.4.0 * Added faster R-CNN support * Javascript bindings have been extended to cover DNN module * DNN has been further accelerated for iGPU using OpenCL * On-disk caching of precompiled OpenCL kernels has been finally implemented * possible to load and run pre-compiled OpenCL kernels via T-API * Bit-exact 8-bit and 16-bit resize has been implemented (currently supported only bilinear interpolation) - update face module to 3.4.0 - add opencv-lib_suffix.patch, remove LIB_SUFFIX from OPENCV_LIB_INSTALL_PATH, as CMAKE_INSTALL _LIBDIR is arch dependent.- Add option to build without openblas- Add conditionals for python2 and python3 to allow us enabling only desired python variants when needed - Do not depend on sphinx as py2 and py3 seem to collide there- Readd opencv-gles.patch, it is *not* included upstream; otherwise build breaks on all GLES Qt5 platforms (armv6l, armv7l, aarch64) - add fix_processor_detection_for_32bit_on_64bit.patch - Correctly set optimizations and dynamic dispatch on ARM, use OpenCV 3.3 syntax on x86.- Update licensing information- change requires of python-numpy-devel to build in Leap and to not break factory in future- fix build error/unresolvable for Leap 42.2 and 42.3- Update to version 3.3.1: * Lots of various bugfixes - Update source url- Rename python subpackage to python2 - Do not explicitly require python-base for python subpackages- Update to 3.3 - Dropped obsolete patches * opencv-gcc6-fix-pch-support-PR8345.patch * opencv-gles.patch - Updated opencv-build-compare.patch- Add 0001-Do-not-include-glx.h-when-using-GLES.patch Fix build for 32bit ARM, including both GLES and desktop GL headers causes incompatible pointer type errors- Add conditional for the qt5/qt4 integration * This is used only for gui tools, library is not affected - Add provides/obsoletes for the qt5 packages to allow migration - Drop patch opencv-qt5-sobump.diff * Used only by the obsoleted qt5 variant- Cleanup a bit with spec-cleaner - Use %cmake macros - Remove the conditions that are not really needed - Add tests conditional disabled by default * Many tests fail and there are missing testdata - Switch to pkgconfig style dependencies- Update to OpenCV 3.2.0 - Results from 11 GSoC 2016 projects have been submitted to the library: + sinusoidal patterns for structured light and phase unwrapping module [Ambroise Moreau (Delia Passalacqua)] + DIS optical flow (excellent dense optical flow algorithm that is both significantly better and significantly faster than Farneback’s algorithm – our baseline), and learning-based color constancy algorithms implementation [Alexander Bokov (Maksim Shabunin)] + CNN based tracking algorithm (GOTURN) [Tyan Vladimir (Antonella Cascitelli)] + PCAFlow and Global Patch Collider algorithms implementation [Vladislav Samsonov (Ethan Rublee)] + Multi-language OpenCV Tutorials in Python, C++ and Java [João Cartucho (Vincent Rabaud)] + New camera model and parallel processing for stitching pipeline [Jiri Horner (Bo Li)] + Optimizations and improvements of dnn module [Vitaliy Lyudvichenko (Anatoly Baksheev)] + Base64 and JSON support for file storage. Use names like “myfilestorage.xml?base64” when writing file storage to store big chunks of numerical data in base64-encoded form. [Iric Wu (Vadim Pisarevsky)] + tiny_dnn improvements and integration [Edgar Riba (Manuele Tamburrano, Stefano Fabri)] + Quantization and semantic saliency detection with tiny_dnn [Yida Wang (Manuele Tamburrano, Stefano Fabri)] + Word-spotting CNN based algorithm [Anguelos Nicolaou (Lluis Gomez)] - Contributions besides GSoC: + Greatly improved and accelerated dnn module in opencv_contrib: - Many new layers, including deconvolution, LSTM etc. - Support for semantic segmentation and SSD networks with samples. - TensorFlow importer + sample that runs Inception net by Google. + More image formats and camera backends supported + Interactive camera calibration app + Multiple algorithms implemented in opencv_contrib + Supported latest OSes, including Ubuntu 16.04 LTS and OSX 10.12 + Lot’s of optimizations for IA and ARM archs using parallelism, vector instructions and new OpenCL kernels. + OpenCV now can use vendor-provided OpenVX and LAPACK/BLAS (including Intel MKL, Apple’s Accelerate, OpenBLAS and Atlas) for acceleration - Refreshed opencv-build-compare.patch - Dropped upstream opencv-gcc5.patch - Replace opencv-gcc6-disable-pch.patch with upstream patch opencv-gcc6-fix-pch-support-PR8345.patch - Enable TBB support (C++ threading library) - Add dependency on openBLAS- Enable ffmpeg support unconditional- In case we build using GCC6 (or newer), add -mlra to CFLAGS to workaround gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71294.- Apply upstream patch opencv-gcc6-disable-pch.patch to disable PCH for GCC6.- Test for python versions greater than or equal to the current version.- Add python 3 support- Added opencv_contrib_face-3.1.0.tar.bz2 * This tarball is created to take only the face module from the contrib package. The Face module is required by libkface, which in its turn is required by digikam.- Added _constraints file to avoid random failures on small workers (at least for builds on PMBS)- Update to OpenCV 3.1.0 - A lot of new functionality has been introduced during Google Summer of Code 2015: + “Omnidirectional Cameras Calibration and Stereo 3D Reconstruction” – opencv_contrib/ccalib module (Baisheng Lai, Bo Li) + “Structure From Motion” – opencv_contrib/sfm module (Edgar Riba, Vincent Rabaud) + “Improved Deformable Part-based Models” – opencv_contrib/dpm module (Jiaolong Xu, Bence Magyar) + “Real-time Multi-object Tracking using Kernelized Correlation Filter” – opencv_contrib/tracking module (Laksono Kurnianggoro, Fernando J. Iglesias Garcia) + “Improved and expanded Scene Text Detection” – opencv_contrib/text module (Lluis Gomez, Vadim Pisarevsky) + “Stereo correspondence improvements” – opencv_contrib/stereo module (Mircea Paul Muresan, Sergei Nosov) + “Structured-Light System Calibration” – opencv_contrib/structured_light (Roberta Ravanelli, Delia Passalacqua, Stefano Fabri, Claudia Rapuano) + “Chessboard+ArUco for camera calibration” – opencv_contrib/aruco (Sergio Garrido, Prasanna, Gary Bradski) + “Implementation of universal interface for deep neural network frameworks” – opencv_contrib/dnn module (Vitaliy Lyudvichenko, Anatoly Baksheev) + “Recent advances in edge-aware filtering, improved SGBM stereo algorithm” – opencv/calib3d and opencv_contrib/ximgproc (Alexander Bokov, Maksim Shabunin) + “Improved ICF detector, waldboost implementation” – opencv_contrib/xobjdetect (Vlad Shakhuro, Alexander Bovyrin) + “Multi-target TLD tracking” – opencv_contrib/tracking module (Vladimir Tyan, Antonella Cascitelli) + “3D pose estimation using CNNs” – opencv_contrib/cnn_3dobj (Yida Wang, Manuele Tamburrano, Stefano Fabri) - Many great contributions made by the community, such as: + Support for HDF5 format + New/Improved optical flow algorithms + Multiple new image processing algorithms for filtering, segmentation and feature detection + Superpixel segmentation and much more - IPPICV is now based on IPP 9.0.1, which should make OpenCV even faster on modern Intel chips - opencv_contrib modules can now be included into the opencv2.framework for iOS - Newest operating systems are supported: Windows 10 and OSX 10.11 (Visual Studio 2015 and XCode 7.1.1) - Interoperability between T-API and OpenCL, OpenGL, DirectX and Video Acceleration API on Linux, as well as Android 5 camera. - HAL (Hardware Acceleration Layer) module functionality has been moved into corresponding basic modules; the HAL replacement mechanism has been implemented along with the examples - Removed improve-sphinx-search.diff, opencv-altivec-vector.patch, opencv-pkgconfig.patch and opencv-samples.patch, fixed upstream. - Fixed opencv-qt5-sobump.diff, opencv-build-compare.patch, opencv-gcc5.patch and opencv-gles.patch. - Version OpenCV 3.0.0 + ~1500 patches, submitted as PR @ github. All our patches go the same route. + opencv_contrib (http://github.com/itseez/opencv_contrib) repository has been added. A lot of new functionality is there already! opencv_contrib is only compatible with 3.0/master, not 2.4. Clone the repository and use “cmake … - D OPENCV_EXTRA_MODULES_PATH= …” to build opencv and opencv_contrib together. + a subset of Intel IPP (IPPCV) is given to us and our users free of charge, free of licensing fees, for commercial and non-commerical use. It’s used by default in x86 and x64 builds on Windows, Linux and Mac. + T-API (transparent API) has been introduced, this is transparent GPU acceleration layer using OpenCL. It does not add any compile-time or runtime dependency of OpenCL. When OpenCL is available, it’s detected and used, but it can be disabled at compile time or at runtime. It covers ~100 OpenCV functions. This work has been done by contract and with generous support from AMD and Intel companies. + ~40 OpenCV functions have been accelerated using NEON intrinsics and because these are mostly basic functions, some higher-level functions got accelerated as well. + There is also new OpenCV HAL layer that will simplifies creation of NEON-optimized code and that should form a base for the open-source and proprietary OpenCV accelerators. + The documentation is now in Doxygen: http://docs.opencv.org/master/ + We cleaned up API of many high-level algorithms from features2d, calib3d, objdetect etc. They now follow the uniform “abstract interface – hidden implementation” pattern and make extensive use of smart pointers (Ptr<>). + Greatly improved and extended Python & Java bindings (also, see below on the Python bindings), newly introduced Matlab bindings (still in alpha stage). + Improved Android support – now OpenCV Manager is in Java and supports both 2.4 and 3.0. + Greatly improved WinRT support, including video capturing and multi-threading capabilities. Thanks for Microsoft team for this! + Big thanks to Google who funded several successive GSoC programs and let OpenCV in. The results of many successful GSoC 2013 and 2014 projects have been integrated in opencv 3.0 and opencv_contrib (earlier results are also available in OpenCV 2.4.x). We can name: - text detection - many computational photography algorithms (HDR, inpainting, edge-aware filters, superpixels, …) - tracking and optical flow algorithms - new features, including line descriptors, KAZE/AKAZE - general use optimization (hill climbing, linear programming) - greatly improved Python support, including Python 3.0 support, many new tutorials & samples on how to use OpenCV with Python. - 2d shape matching module and 3d surface matching module - RGB-D module - VTK-based 3D visualization module - etc. + Besides Google, we enjoyed (and hope that you will enjoy too) many useful contributions from community, like: - biologically inspired vision module - DAISY features, LATCH descriptor, improved BRIEF - image registration module - etc.- Reduce build-compare noise opencv-build-compare.patch- Remove BuildRequirement for python-sphinx in SLE12, since it's not available there and it's not a mandatory requirement.- Reduce differences between two spec files- Use pkgconfig for ffmpeg BuildRequires- Update improve-sphinx-search.diff for new python-Sphinx(1.3.1) * now that sphinx-build disallow executing without arguments and give you "Insufficient arguments" error, use "sphinx-build -h" instead * the default usages output ie. sphinx-build(or --help) no longer are standard error but standard output, drop OUTPUT_QUIET and add OUTPUT_VARIABLE throws the output to SPHINX_OUTPUT as well- support gcc 5 (i.e. gcc versions without minor version): opencv-gcc5.patch- Update to OpenCV 2.4.11 - can't find NEWS or Changelog merely collecting bug fixes while 3.0 is in the making, 2.4.11 didn't even make it on their web page, it's only on download server - remove opencv-underlinking.patch as obsolete - remove upstream patch bomb_commit_gstreamer-1x-support.patch - commenting out opencv-pkgconfig.patch - possibly it requires a rebase, but the problem it tries to solve is unclear- Add specific buildrequires for libpng15, so that we are building against the system provided libpng.opencv-qt5-doch01-ch2c 1738840022  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4.9.0-150600.3.2.14.9.04.9.0  opencv-docexamplesCMakeLists.txtarucoaruco_samples_utility.hppcalibrate_camera.cppcalibrate_camera_charuco.cppcreate_board.cppcreate_board_charuco.cppcreate_diamond.cppcreate_marker.cppdetect_board.cppdetect_board_charuco.cppdetect_diamonds.cppdetect_markers.cppdetector_params.ymltutorial_camera_charuco.ymltutorial_camera_params.ymltutorial_charuco_create_detect.cpptutorial_dict.ymlcpp3calibration.cppCMakeLists.txtapplication_trace.cpparuco_dict_utils.cppasift.cppaudio_spectrogram.cppbarcode.cppbgfg_segm.cppcalibration.cppcamshiftdemo.cppcloning_demo.cppcloning_gui.cppconnected_components.cppcontours2.cppconvexhull.cppcout_mat.cppcreate_mask.cppdbt_face_detection.cppdelaunay2.cppdemhist.cppdetect_blob.cppdetect_mser.cppdft.cppdigits_lenet.cppdigits_svm.cppdis_opticalflow.cppdistrans.cppdrawing.cppedge.cppela.cppem.cppepipolar_lines.cppessential_mat_reconstr.cppfacedetect.cppfacial_features.cppfalsecolor.cppfback.cppffilldemo.cppfilestorage.cppfitellipse.cppflann_search_dataset.cppgrabcut.cppimage_alignment.cppimagelist_creator.cppimagelist_reader.cppimgcodecs_jpeg.cppinpaint.cppintelligent_scissors.cppintersectExample.cppkalman.cppkmeans.cpplaplace.cppletter_recog.cpplkdemo.cpplogistic_regression.cpplsd_lines.cppmask_tmpl.cppmatchmethod_orb_akaze_brisk.cppminarea.cppmorphology2.cppneural_network.cppnpr_demo.cppopencv_version.cpppca.cpppeopledetect.cppphase_corr.cpppoints_classifier.cpppolar_transforms.cppqrcode.cppsegment_objects.cppselect3dobj.cppsimd_basic.cppsmiledetect.cppsquares.cppstereo_calib.cppstereo_match.cppstitching.cppstitching_detailed.cpptext_skewness_correction.cpptrain_HOG.cpptrain_svmsgd.cpptravelsalesman.cpptree_engine.cppvideocapture_audio.cppvideocapture_audio_combination.cppvideocapture_basic.cppvideocapture_camera.cppvideocapture_gphoto2_autofocus.cppvideocapture_gstreamer_pipeline.cppvideocapture_image_sequence.cppvideocapture_microphone.cppvideocapture_obsensor.cppvideocapture_openni.cppvideocapture_realsense.cppvideocapture_starter.cppvideowriter_basic.cppwarpPerspective_demo.cppwatershed.cppdataBlender_Suzanne1.jpgBlender_Suzanne2.jpgH1to3p.xmlHappyFish.jpgLinuxLogo.jpgMegamind.aviMegamind_bugy.aviWindowsLogo.jpgaero1.jpgaero3.jpgaloeGT.pngaloeL.jpgaloeR.jpgalphabet_36.txtalphabet_94.txtapple.jpgarucochoriginal.jpgtutorial_camera_charuco.ymlbaboon.jpgbasketball1.pngbasketball2.pngblox.jpgboard.jpgbox.pngbox_in_scene.pngbuilding.jpgbutterfly.jpgcalibration.ymlcards.pngchessboard.pngchicky_512.pngdata01.xmldetect_blob.pngdigits.pngdnnaction_recongnition_kinetics.txtclassification_classes_ILSVRC2012.txtenet-classes.txtobject_detection_classes_coco.txtobject_detection_classes_pascal_voc.txtobject_detection_classes_yolo.txtela_modified.jpgela_original.jpgellipses.jpgessential_mat_data.txtfruits.jpggradient.pnggraf1.pnggraf3.pnghome.jpgimageTextN.pngimageTextR.pngintrinsics.ymlleft.jpgleft01.jpgleft02.jpgleft03.jpgleft04.jpgleft05.jpgleft06.jpgleft07.jpgleft08.jpgleft09.jpgleft11.jpgleft12.jpgleft13.jpgleft14.jpgleft_intrinsics.ymllena.jpglena_tmpl.jpgletter-recognition.dataleuvenA.jpgleuvenB.jpglicenseplate_motion.jpgmask.pngmessi5.jpgml.pngnotes.pngopencv-logo-white.pngopencv-logo.pngorange.jpgpca_test1.jpgpic1.pngpic2.pngpic3.pngpic4.pngpic5.pngpic6.pngright.jpgright01.jpgright02.jpgright03.jpgright04.jpgright05.jpgright06.jpgright07.jpgright08.jpgright09.jpgright11.jpgright12.jpgright13.jpgright14.jpgrubberwhale1.pngrubberwhale2.pngsmarties.pngsquirrel_cls.jpgstarry_night.jpgstereo_calib.xmlstuff.jpgsudoku.pngtempl.pngtext_defocus.jpgtext_motion.jpgtmpl.pngtree.avivtest.avidnnCMakeLists.txtclassification.cppcolorization.cppcommon.hppcustom_layers.hppdasiamrpn_tracker.cppface_detect.cpphuman_parsing.cppnanotrack_tracker.cppobject_detection.cppopenpose.cppperson_reid.cppscene_text_detection.cppscene_text_recognition.cppscene_text_spotting.cppsegmentation.cppspeech_recognition.cpptext_detection.cppvit_tracker.cppfaceCMakeLists.txtFacemark.javaetcat.txtcreate_csv.pycrop_face.pyfacemark_demo_aam.cppfacemark_demo_lbf.cppfacemark_lbf_fitting.cppfacerec_demo.cppfacerec_eigenfaces.cppfacerec_fisherfaces.cppfacerec_lbph.cppfacerec_save_load.cppfacerec_video.cpplandmarks_demo.pymace_webcam.cppsampleDetectLandmarks.cppsampleDetectLandmarksvideo.cppsample_config_file.xmlsample_face_swapping.cppsample_train_landmark_detector.cppsample_train_landmark_detector2.cppsamplewriteconfigfile.cppgapiapi_example.cppdataconfig_template.ymldraw_example.cppface_detection_mtcnn.cppgaze_estimation.cppinfer_ie_onnx_hybrid.cppinfer_single_roi.cppinfer_ssd_onnx.cppoak_basic_infer.cppoak_copy.cppoak_rgb_camera_encoding.cppoak_small_hetero_pipeline.cpponevpl_infer_with_advanced_device_selection.cpponevpl_source_to_bgr_conv.cpppipeline_modeling_toolpipeline_modeling_tool.cppdummy_source.hpppipeline.hpppipeline_builder.hpptest_pipeline_modeling_tool.pyutils.hppprivacy_masking_camera.cppsemantic_segmentation.cppslides_blur_gapi.cppslides_sobel_cv.cppslides_sobel_gapi.cpptext_detection.cppgpuCMakeLists.txtalpha_comp.cppbgfg_segm.cppcascadeclassifier.cppfarneback_optical_flow.cppgeneralized_hough.cpphog.cpphoughlines.cppmorphology.cppmulti.cpppyrlk_optical_flow.cppstereo_match.cppstereo_multi.cppsuper_resolution.cppsurf_keypoint_matcher.cppvideo_reader.cppvideo_writer.cppopenclCMakeLists.txtdisplay.cpp.incopencl-opencv-interop.cppva_intel_interop.cppopenglCMakeLists.txtopengl.cppopengl_interop.cppwinapp.hppoptflowgpc_evaluate.cppgpc_train.cppgpc_train_middlebury.pygpc_train_sintel.pymotempl.cppmotempl.pyoptical_flow_benchmark.pyoptical_flow_evaluation.cpppcaflow_demo.cppsimpleflow_demo.cpptvl1_optical_flow.cppplotplot_demo.cpppython_coverage.py_doc.pyaruco_detect_board_charuco.pyasift.pyaudio_spectrogram.pybrowse.pycalibrate.pycamera_calibration_show_extrinsics.pycamshift.pycoherence.pycolor_histogram.pycommon.pycontours.pydeconvolution.pydemo.pydft.pydigits.pydigits_adjust.pydigits_video.pydis_opt_flow.pydistrans.pydrawing.pyedge.pyessential_mat_reconstr.pyfacedetect.pyfeature_homography.pyfind_obj.pyfitline.pyfloodfill.pygabor_threads.pygaussian_mix.pygrabcut.pyhist.pyhoughcircles.pyhoughlines.pyinpaint.pykalman.pykmeans.pylaplace.pylappyr.pyletter_recog.pylk_homography.pylk_track.pylogpolar.pymorphology.pymosse.pymouse_and_match.pymser.pyopencv_version.pyopt_flow.pypeopledetect.pyplane_ar.pyplane_tracker.pyqrcode.pysquares.pystereo_match.pystitching.pystitching_detailed.pytext_skewness_correction.pytexture_flow.pytracker.pytst_scene_render.pyturing.pyvideo.pyvideo_threaded.pyvideo_v4l2.pyvideocapture_obsensor.pywatershed.pysamples_utils.cmakeshapedatashape_sample1.png10.png11.png12.png13.png14.png15.png16.png17.png18.png19.png2.png20.png3.png4.png5.png6.png7.png8.png9.pngshape_example.cppsyclCMakeLists.txtsycl-opencv-interop.cpptapiCMakeLists.txtbgfg_segm.cppcamshift.cppclahe.cppdense_optical_flow.cpphog.cppopencl_custom_kernel.cpppyrlk_optical_flow.cppsquares.cppufacedetect.cppvideo_acceleration.cpptrackingbenchmark.cppcsrt.cppgoturnTracker.cppkcf.cppmultiTracker_dataset.cppmultitracker.cppmultitracker.pysamples_utility.hpptracker.cpptracker.pytracker_dataset.cpptracking_by_matching.cpptutorial_customizing_cn_tracker.cpptutorial_introduction_to_tracker.cpptutorial_multitracker.cppvideostabvideostab.cppximgprocCMakeLists.txtbrightedgesexample.cppcolor_match_template.cppcolorize.cppdericheSample.pyderiche_demo.cppdisparity_filtering.cppedge_drawing.pyedgeboxes_demo.cppedgeboxes_demo.pyedgepreserving_filter_demo.cppfast_hough_transform.cppfilterdemo.cppfind_ellipses.cppfind_ellipses.pyfindredlinedpolygonfromgooglemaps.pyfld_lines.cppfourier_descriptors_demo.cppfourier_descriptors_demo.pygraphsegmentation_demo.cpplive_demo.cppniblack_thresholding.cpppaillou_demo.cpppeilin.cpppeilin_plane.pngpeilin_shape.pngpolygonstanfordoutput.pngradon_transform_demo.cppradon_transform_demo.pyrun_length_morphology_demo.cppseeds.cppselectivesearchsegmentation_demo.cppselectivesearchsegmentation_demo.pyslic.cppstanford.pngstructured_edge_detection.cppthinning.cpp/usr/share/doc/packages//usr/share/doc/packages/opencv-doc//usr/share/doc/packages/opencv-doc/examples//usr/share/doc/packages/opencv-doc/examples/aruco//usr/share/doc/packages/opencv-doc/examples/cpp//usr/share/doc/packages/opencv-doc/examples/data//usr/share/doc/packages/opencv-doc/examples/data/aruco//usr/share/doc/packages/opencv-doc/examples/data/dnn//usr/share/doc/packages/opencv-doc/examples/dnn//usr/share/doc/packages/opencv-doc/examples/face//usr/share/doc/packages/opencv-doc/examples/face/etc//usr/share/doc/packages/opencv-doc/examples/gapi//usr/share/doc/packages/opencv-doc/examples/gapi/data//usr/share/doc/packages/opencv-doc/examples/gapi/pipeline_modeling_tool//usr/share/doc/packages/opencv-doc/examples/gpu//usr/share/doc/packages/opencv-doc/examples/opencl//usr/share/doc/packages/opencv-doc/examples/opengl//usr/share/doc/packages/opencv-doc/examples/optflow//usr/share/doc/packages/opencv-doc/examples/plot//usr/share/doc/packages/opencv-doc/examples/python//usr/share/doc/packages/opencv-doc/examples/shape//usr/share/doc/packages/opencv-doc/examples/shape/data//usr/share/doc/packages/opencv-doc/examples/shape/data/shape_sample//usr/share/doc/packages/opencv-doc/examples/sycl//usr/share/doc/packages/opencv-doc/examples/tapi//usr/share/doc/packages/opencv-doc/examples/tracking//usr/share/doc/packages/opencv-doc/examples/videostab//usr/share/doc/packages/opencv-doc/examples/ximgproc/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:37341/SUSE_SLE-15-SP6_Update/38c7ad7f44a119e233f977fc3588789b-opencv.SUSE_SLE-15-SP6_Updatedrpmxz5x86_64-suse-linux   !"#$%&&'()*+++++++++++++,-./01234567888888*+++++++++++++99:;<=>?@ABCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDEFGGHIJJKDLMNOPQRDSSCCCCCTUVCCWdirectoryC source, ASCII textC++ source, ASCII textASCII textC++ source, UTF-8 Unicode textC source, ASCII text, with very long linesJPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, progressive, precision 8, 640x480, frames 3XML 1.0 document, ASCII textJPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 259x194, frames 3JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 320x240, frames 3JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, comment: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90", baseline, precision 8, 320x240, frames 3JPEG image data, JFIF standard 1.01, resolution (DPCM), density 29x29, segment length 16, baseline, precision 8, 640x480, frames 3PNG image data, 1282 x 1110, 8-bit grayscale, non-interlacedJPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, little-endian, direntries=2, datetime=2011:02:01 12:39:51], baseline, precision 8, 1282x1110, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, little-endian, direntries=2, datetime=2011:02:01 12:39:59], baseline, precision 8, 1282x1110, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=0], baseline, precision 8, 512x512, frames 3JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 640x480, frames 3ASCII text, with CRLF line terminatorsJPEG image data, JFIF standard 1.01, aspect ratio, density 0x0, segment length 16, comment: "Handmade Software, Inc. Image Alchemy v1.9", baseline, precision 8, 512x512, frames 3PNG image data, 640 x 480, 8-bit grayscale, non-interlacedJPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 256x256, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=12, description=One of the 1000's of high resolution textures available, manufacturer=OLYMPUS OPTICAL CO.,LTD, model=C2000Z, orientation=upper-left, xresolution=380, yresolution=388, resolutionunit=2, software=Adobe Photoshop 7.0, datetime=2004:12:14 09:26:22], baseline, precision 8, 640x480, frames 3PNG image data, 324 x 223, 8-bit grayscale, non-interlacedPNG image data, 512 x 384, 8-bit grayscale, non-interlacedJPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, baseline, precision 8, 868x600, frames 3JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 493x356, frames 3PNG image data, 640 x 480, 8-bit/color RGBA, non-interlacedPNG image data, 1754 x 1240, 8-bit/color RGBA, non-interlacedPNG image data, 512 x 512, 8-bit/color RGBA, non-interlacedXML 1.0 document, ASCII text, with very long linesPNG image data, 541 x 760, 8-bit/color RGBA, non-interlacedPNG image data, 2000 x 1000, 8-bit grayscale, non-interlacedJPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=10, manufacturer=motorola, model=XT1635-02, xresolution=154, yresolution=162, resolutionunit=2, software=GIMP 2.8.18, datetime=2018:06:24 22:27:34, GPS-Data], progressive, precision 8, 897x708, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=10, manufacturer=motorola, model=XT1635-02, xresolution=154, yresolution=162, resolutionunit=2, software=GIMP 2.8.18, datetime=2018:06:24 22:28:17, GPS-Data], progressive, precision 8, 902x770, frames 3JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=12, height=1228, bps=0, PhotometricIntepretation=RGB, orientation=upper-left, width=1028], baseline, precision 8, 400x533, frames 1JPEG image data, JFIF standard 1.01, aspect ratio, density 0x0, segment length 16, comment: "Handmade Software, Inc. Image Alchemy v1.9", baseline, precision 8, 512x480, frames 3PNG image data, 300 x 300, 8-bit/color RGBA, non-interlacedPNG image data, 800 x 640, 8-bit/color RGB, non-interlacedJPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, baseline, precision 8, 512x384, frames 3PNG image data, 556 x 257, 8-bit colormap, non-interlacedPNG image data, 556 x 323, 8-bit colormap, non-interlacedJPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 612x459, frames 3JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 640x480, frames 1JPEG image data, JFIF standard 1.01, resolution (DPI), density 73x73, segment length 16, comment: "Handmade Software, Inc. Image Alchemy v1.9", baseline, precision 8, 512x512, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 73x73, segment length 16, comment: "Handmade Software, Inc. Image Alchemy v1.9", progressive, precision 8, 512x512, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=12, manufacturer=Apple, model=iPhone 6, orientation=upper-left, xresolution=173, yresolution=181, resolutionunit=2, software=12.0, datetime=2019:04:14 13:46:10], baseline, precision 8, 751x563, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=12, manufacturer=Apple, model=iPhone 6, orientation=upper-left, xresolution=173, yresolution=181, resolutionunit=2, software=12.0, datetime=2019:04:14 13:45:56], baseline, precision 8, 751x563, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 100x100, segment length 16, Exif Standard: [TIFF image data, little-endian, direntries=11, manufacturer=FUJIFILM, model=FinePix S7000 , orientation=upper-left, xresolution=170, yresolution=178, resolutionunit=2, software=Adobe Photoshop CS4 Macintosh, datetime=2010:11:18 12:18:10, copyright= ], baseline, precision 8, 600x482, frames 3PNG image data, 128 x 128, 8-bit gray+alpha, non-interlacedJPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, comment: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v80), quality = 95", baseline, precision 8, 548x342, frames 3PNG image data, 308 x 380, 8-bit/color RGB, non-interlacedPNG image data, 1024 x 134, 8-bit/color RGB, non-interlacedPNG image data, 180 x 238, 8-bit/color RGBA, non-interlacedPNG image data, 600 x 794, 8-bit/color RGBA, non-interlacedJPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, baseline, precision 8, 800x600, frames 3PNG image data, 400 x 300, 8-bit/color RGB, non-interlacedPNG image data, 584 x 388, 8-bit/color RGB, non-interlacedPNG image data, 413 x 356, 8-bit/color RGB, non-interlacedJPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, Exif Standard: [TIFF image data, little-endian, direntries=3, orientation=upper-left, software=Shotwell 0.28.4], baseline, precision 8, 535x426, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 300x300, segment length 16, baseline, precision 8, 752x600, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, baseline, precision 8, 640x480, frames 3PNG image data, 558 x 563, 8-bit/color RGB, non-interlacedPNG image data, 100 x 130, 8-bit/color RGBA, non-interlacedJPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, little-endian, direntries=10, description= , manufacturer=Canon, model=Canon PowerShot SX210 IS, orientation=upper-left, xresolution=204, yresolution=212, resolutionunit=2, datetime=2012:08:18 04:29:32], baseline, precision 8, 697x472, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, little-endian, direntries=10, description= , manufacturer=Canon, model=Canon PowerShot SX210 IS, orientation=upper-left, xresolution=204, yresolution=212, resolutionunit=2, datetime=2012:08:17 23:45:43], baseline, precision 8, 588x365, frames 3PNG image data, 128 x 128, 8-bit/color RGBA, non-interlacedPython script, ASCII text executablePNG image data, 256 x 256, 1-bit grayscale, non-interlacedPNG image data, 181 x 113, 1-bit grayscale, non-interlacedPNG image data, 95 x 53, 1-bit grayscale, non-interlacedPNG image data, 558 x 558, 1-bit grayscale, non-interlacedPNG image data, 394 x 216, 1-bit grayscale, non-interlacedPNG image data, 422 x 266, 1-bit grayscale, non-interlacedPNG image data, 512 x 512, 1-bit grayscale, non-interlacedPNG image data, 464 x 343, 1-bit grayscale, non-interlacedPNG image data, 360 x 384, 1-bit grayscale, non-interlacedPNG image data, 626 x 585, 1-bit grayscale, non-interlacedPNG image data, 781 x 730, 1-bit grayscale, non-interlacedPNG image data, 274 x 241, 1-bit grayscale, non-interlacedPNG image data, 320 x 252, 1-bit grayscale, non-interlacedPNG image data, 400 x 221, 1-bit grayscale, non-interlacedPNG image data, 400 x 209, 1-bit grayscale, non-interlacedC++ source, UTF-8 Unicode (with BOM) textPNG image data, 256 x 256, 1-bit colormap, non-interlacedPNG image data, 256 x 256, 8-bit colormap, non-interlacedPNG image data, 1216 x 771, 8-bit/color RGBA, non-interlacedPNG image data, 1220 x 764, 8-bit/color RGBA, non-interlaced+oyOropencv-develutf-8841e173c253e3e22e40584bdf5e42cd847bf00bbb2d0b6525ee9c732060a9335?7zXZ !t/ ]"k%.Vh7xg*,]S$f'x' iu??w?ֱ|D׏I3jQ{͛5l 7v֞[2b^ HDc26*P%gQZsoi>Y`w4|콹Yދ~{wOk!q`v8lt`]<e,Z `K:9 EMFa$rTs2UĎ+wx&!\T"eTVcцH(!꟎ (y`L$lAP`2MG܃Aql؉Tֱ~-W5GlAfQ> RBVH~ nrgiA cܮcY\5~<ݷs`w*#?TpؒGŻW~tE3bHn)滂 :@7Vl>ޫTD09j-56& g<O(a)dXPW \9Qu=[R(;KQq?b7:T*0<\4yuc5,a(N^)|4r 3|jtvܛ?74>Pg .cj };iMJNXNNbԤ՜ɻN f`eGKSqzeT{Sa;psMqiބK,nN)yʥ;CpB47kvB!͆;f7F녁f<^/qݚL4JN&_Fѭ>$' !ҘpFˮcƋgRЍ-Bt4sƎ"kk VVyltZZRh>=;:샇;e&>b<}ہ Ï; ĭh"l2g5k~6M`&~=kա/-&7C'!ȻǑ0=E =  )w@7+s7!* $߂x*JX}U ;_uaX?x%4**r[lrS{r #{m޿8<[R;?xJz7˘mĢv U %NE"cr^Ɩe=Q:O˙ne#JR04(XKDB\s.)k߾DwAo![M5EBBkJ`]q2.T-HHABzk]@⇙a7O>R/B_bv-9Jk4\g㖁,u0Eeׯ`ѣ7#UYU;Y^JY>!4ֆc3r 'M*D[;PuX4!s͓m|ocn?Ɛ`[qrr\T3+WLKMZwlD0J -9ǘeBdS"W)\CMn;܂vg&A AY 7T结cJU{ų?~B6z>_4×Vc0ad՘+Քۈ1cReq 8ҫ^^rۥ~[^4<y$#W>V0LHDpobWkx],̲/s"Ebv[6 UU9̖xĄZןĚQ] ~V ١)_{qy1z q+5͑&Co* :8;;#\x Oa[ U4ʧ8)&Rk!W@c' v74Ì|~6"pSXk{Nқi_1ÏiDsGJ-[51x[/Q+ܠvlqB\YMF7W}9B*N-h.~| +`ز¼i8Xc gŸGX]*aj4zp ae=FFeU_I>L-vYz=*(E{|-Cwjˣ^l2'k1uV͇+JutG%@/0U!rJ̪]"ITS!96ڕRB"<ޚRc/yViD*lLgeܕc7k5ܿ|v_s2iTq*<[Uֲ0(f~zEdZOcp%dEPŜ~zfy' @K'YY ^oވuڛagpXKc@Ҡ8fI->CJ;B]IJ+ 5!?{j[po ]77LSrmnd\oYW2KZڣգ^->DBcFwIc[I{63~@ANҭu5B>⻪/vGX t=ӰR4\{)vJQRvBbnYYt[DZZ\CEۺK}kZb/)^VDxiDթC}v(.GbͮJUpD i}4N.r`iAiCEnE4\`Iz$͕kVl?!MVGVR7Y`s4K?|G&Lz`~@ hʫt < Gua{3d`F勣>HFg" XEB뫔#47,H'ǀ1۝\n*뎶*Bc/ӽ9M YZ