YouTube2Text

Изучение Python OpenCV / Урок #6 – Побитовые операции и маски — Transcript

by Гоша Дударь · 2,114 words · 336 segments · language en · Watch on YouTube

Full transcript

  1. 0:00привет в ходе этого урока мы научимся
  2. 0:01работать с памятование операциями а
  3. 0:03также изучим работу с масками но перед
  4. 0:05началом я рекомендую вам сайт пойти
  5. 0:07против точка ком на этом сайте вы
  6. 0:09найдете код домашнее задание и много
  7. 0:11другой полезной информации ссылка на
  8. 0:13этот урок на сайте будет в описании к
  9. 0:15этому видео переходите не пожалеете
  10. 0:17сперва давайте изучим с вами под битовые
  11. 0:19операции за счет по битовых операций мы
  12. 0:21можем выполнить объединение нескольких
  13. 0:23картинок причем когда мы будем
  14. 0:25объединять мы можем указать каким именно
  15. 0:27образом мы это будем делать например мы
  16. 0:30можем объединить картинки с добавлением
  17. 0:32недостающих частей или же на broads и их
  18. 0:35урезанием то есть все какие-то не общие
  19. 0:37черты они будут удалены например из двух
  20. 0:40картинок или же мы в принципе можем
  21. 0:42произвести инверсию например у нас есть
  22. 0:44картинка где она наполовину белым мы
  23. 0:47производим версии соответственно а
  24. 0:48колодина которая была белая стала черная
  25. 0:51а другая половина стала белая то есть
  26. 0:53вот можно делать например инверсии ну и
  27. 0:56давайте мы это все лучше изучим с вами
  28. 0:57не на словах а на практике и в первую
  29. 1:00очередь я предлагаю создать просто некая
  30. 1:02наше собственное изображение будет
  31. 1:04просто черное полотно и давайте мы чтобы
  32. 1:07его создать подключим здесь библиотеку
  33. 1:09нам пай я даже не буду добавлять
  34. 1:10никакого псевдонимом ну и просто
  35. 1:12создадим некое изображение здесь мы
  36. 1:15обращаемся к нам по обращаемся к zeroes
  37. 1:17мы указываем здесь
  38. 1:18определенный кортеж и количество
  39. 1:21элементов в этом кортежи это будет по
  40. 1:23сути размерность самого нашего
  41. 1:24изображения
  42. 1:25давайте укажу здесь 350 на 350 думаю нам
  43. 1:29такого вполне себе хватит и плюс нужно
  44. 1:31указать еще де type здесь мы укажем you
  45. 1:33and 8 вот такое вот значение
  46. 1:35теперь мы давайте создадим с вами круг а
  47. 1:38также создадим прямоугольник и в
  48. 1:41дальнейшем мы отобразим эти вещи ну
  49. 1:43допустим на этом же объекте только мы
  50. 1:46только мы уже отобразим именно
  51. 1:48соединение этих вещей и так для начала
  52. 1:50просто создаем круг я его помещаю как
  53. 1:52видите на отдельный объект на отдельную
  54. 1:54переменную и здесь мы просто должны
  55. 1:56обратиться к библиотеке им дали мы
  56. 1:58обращаемся к соответствующему методу он
  57. 2:01называется circle здесь мы давайте с
  58. 2:03вами сделаем следующее мы обращаемся к
  59. 2:06и мяч и мы давайте им не просто укажем
  60. 2:09на какой картинке мы как мы будем все
  61. 2:11это рисовать а мы skype
  62. 2:13пируем это изображение и как будто уже
  63. 2:15на новом изображений мы нарисуем именно
  64. 2:17наш круг вот такая будет лайк а то есть
  65. 2:19по факту здесь я указываю что мы берем
  66. 2:21картинку берем ее по сути размеры бы и
  67. 2:23берем ее характеристики копируем ее и
  68. 2:25вот на этой новой скопированные картинки
  69. 2:27и создадим круг вот такая идет здесь
  70. 2:29логика далее нам необходимо указать ну
  71. 2:33как бы
  72. 2:33центр и центр у меня здесь пускай будет
  73. 2:36как 125 на 125 ну предположим пуская
  74. 2:39где-нибудь вот здесь будет находиться
  75. 2:40также радиус нужно указать пускаю на
  76. 2:43данный момент будет как 50 ну и
  77. 2:45дополнительно нужно еще указать цвет
  78. 2:47здесь конечно же тоже можно создать
  79. 2:49кортеж и указать как бы три цвета но мы
  80. 2:52давайте просто укажем здесь значение 255
  81. 2:55это означает то что мое изображение мой
  82. 2:57круг он будет состоять лишь из одного
  83. 3:00цвета и соответственно поскольку это
  84. 3:02один слой один цвет потом идет диапазон
  85. 3:04от 0 до 255 и 255 это полностью белый
  86. 3:09цвет а этом этом и здесь и указываем
  87. 3:10также мы можем указать
  88. 3:12просто обмотку можем указать как единица
  89. 3:15можем обратиться к силе 2
  90. 3:18и здесь мы можем указать field то что мы
  91. 3:20с вами уже указывали дата чтобы оно все
  92. 3:22было заполненная или более сокращенная
  93. 3:24форма это просто прописать -1 по факту
  94. 3:26таким образом мы тоже говорим о том что
  95. 3:28мы все это закрашиваем вы какой-либо
  96. 3:30определенный цвет ну в нашем случае в
  97. 3:32белый цвет дополнительном и давайте еще
  98. 3:35здесь создадим некий квадрат и
  99. 3:37соответственно мы его делаем а по
  100. 3:40предыдущему принципу единственное
  101. 3:42обращаемся к
  102. 3:43англ уже методу здесь я точно та же
  103. 3:45самая хочу сделать то все не хочу просто
  104. 3:47на каком-то изображение это все рисовать
  105. 3:48я хочу как бы создать копию изображения
  106. 3:50и уже на копии нарисовать нужный
  107. 3:53квадратик ну и тут не давайте укажем
  108. 3:55что-то в духе допустим 20 начиная с
  109. 3:58точки 2525
  110. 4:00и вплоть до точек ну предположим давайте
  111. 4:04250 и тут 350 мы будем рисовать вот этот
  112. 4:07вот квадрат дополнительно здесь мы
  113. 4:09должны указать с вами определенный цвет
  114. 4:11давайте я так же самое здесь укажу 255 и
  115. 4:14возможно мы укажем еще обводку она тоже
  116. 4:18у нас здесь будет как -1 до был просто
  117. 4:19полностью закрасили весь этот квадратик
  118. 4:22ну и последнее что остается сделать это
  119. 4:24просто протестировать что же у нас
  120. 4:25получилось давайте мне
  121. 4:27а им шоу еще раз вызовем эту функцию
  122. 4:28здесь будет написано про изолт и здесь
  123. 4:32мы поначалу давайте выведем круг просто
  124. 4:34посмотрим что у нас получилось вот у нас
  125. 4:36кружок есть все абсолютно верно
  126. 4:38обработать и также возможно давайте мы
  127. 4:40еще попробуем сквер вывести то бишь нас
  128. 4:43наш квадрат это же он здесь как виде
  129. 4:45абсолютно корректно обработался я бы
  130. 4:47наверное только один момент изменил
  131. 4:49давайте мы укажем что он наш круг его
  132. 4:52как бы центр он будет находиться в
  133. 4:55нулевых координатах зачем мне такое
  134. 4:58нужно дело в том что ну дело в том что
  135. 5:00если просто расположу его в начальных
  136. 5:02координатах то потом мы легко с вами
  137. 5:04сможем замечать вот эти вот различные
  138. 5:06объединения изображений так дальше
  139. 5:08потому что если круг находится просто от
  140. 5:10квадратом какие-либо объединение прочие
  141. 5:12вещи мы особо не заметим поэтому круг в
  142. 5:15моем случае он на данный момент вот так
  143. 5:16вот выглядит возможно увеличу его просто
  144. 5:18радиус до 80 ну а так-то оставлю вот его
  145. 5:22без изменений теперь мы давайте с вами
  146. 5:24научимся выполнять именно по битовые
  147. 5:26операции это операции по объединению
  148. 5:28изображений и по указанию каким способом
  149. 5:32мы их будем объединять и так для начала
  150. 5:34мы давайте с вами наверное в ту же самую
  151. 5:37нашу переменную m&g все это будем
  152. 5:39запихивать и мы здесь давайте сделаем
  153. 5:41следующее мы обращаемся к нашей
  154. 5:43библиотеке и обращаемся к и таком такому
  155. 5:46между который будет называться в первую
  156. 5:49очередь как бедварс and чуть позже
  157. 5:51изучим и другие методы давайте
  158. 5:52изначально бедварс and изучим что он
  159. 5:55делать он принимает 2 параметра это два
  160. 5:58наших изображениям и давайте передадим
  161. 5:59сюда круг а также передадим сюда квадрат
  162. 6:03и далее я хочу просто вывести
  163. 6:05получившееся изображение
  164. 6:07и что же мы с вами получим смотрите
  165. 6:09когда мы когда мы используем with white
  166. 6:11and the данный метод он делать то что он
  167. 6:14находит лишь одинаковые части для обеих
  168. 6:17изображений только эти одинаковые части
  169. 6:19не как раз в на слизь и отображаются
  170. 6:22напомню что вот здесь мне находился круг
  171. 6:24здесь меня находился квадрат ну и
  172. 6:26соответственно были найдены только общие
  173. 6:28черты и только эти общие черты они были
  174. 6:30вот здесь выведены получилось такое
  175. 6:32интересное изображение
  176. 6:33это если мы говорим относить
  177. 6:35битва из and если мы будем говорить
  178. 6:37относительно битвой
  179. 6:39or давайте мы такое сейчас с вами тоже
  180. 6:41попробуем запустить то в таком случае мы
  181. 6:44получаем полное объединение все что нас
  182. 6:46совпадает или же не совпадает нам в
  183. 6:48принципе не важно но все объединяется и
  184. 6:51выводится на экран вот в нашем случае
  185. 6:53таки произошло это если говорить
  186. 6:55относительно едва is art также помимо
  187. 6:57битвой с arm и битвой с н существует еще
  188. 7:00такой метод который называется x-art
  189. 7:03давайте мы его сейчас тоже с вами
  190. 7:05протестируем итак запускаем программу и
  191. 7:07вот что мы с вами можем заметить у нас
  192. 7:10произошло объединение двух этих объектов
  193. 7:13но все что у нас как бы совпадало
  194. 7:16у этих объектов она не было добавлено к
  195. 7:18новому изображения то что мы можем
  196. 7:20заметить видите нас прошлое изображение
  197. 7:22добавилось ну как в два изображения
  198. 7:25добавились и все что совпадало но просто
  199. 7:27чудо было вырезано ну и крайне метод
  200. 7:30который еще стоит рассмотреть это метод
  201. 7:32который позволяет нам создать инверсию
  202. 7:34он называется пе-2 is not опять же
  203. 7:37давайте мы ставим программу запустим ее
  204. 7:39повторно в таком случае мы можем с вами
  205. 7:41заметить вот что у нас кстати в нашем
  206. 7:45примере это не сильно хорошо сработало
  207. 7:47мы давайте лучше сюда передадим не два
  208. 7:49объекта до всего лишь один объект на
  209. 7:51допустим circle
  210. 7:52едва диета да еще раз запущу это так вот
  211. 7:54при использовании этого метода мы
  212. 7:56получаем с вами инверсию раньше у нас
  213. 7:59вот здесь был круг и он конечно же был
  214. 8:01белым но теперь круг как будто был
  215. 8:03вырезан
  216. 8:04а вся а все остальное но стала именно
  217. 8:06белым если мы сюда передадим например с
  218. 8:09вами квадрат то получим точно то же
  219. 8:11самое только уже с другим немного
  220. 8:13объектом возведи квадрат он как будто
  221. 8:15отсюда вырезано все остальное но уже
  222. 8:17является белым подобные по битовые
  223. 8:19операции они часто используются в связке
  224. 8:22с масками за счет масок мы можем просто
  225. 8:25выбрать определенную часть из
  226. 8:27изображения ну или из видео поскольку
  227. 8:29видео это тоже набор
  228. 8:31изображение так вот давайте мы сейчас
  229. 8:32такое с вами как раз попробуем сделать
  230. 8:34для начала я здесь просто создам еще
  231. 8:36некую переменную пускай она будет меня
  232. 8:38называться как фото и здесь мы просто
  233. 8:41под грузим некое изображение то есть я
  234. 8:43обращаюсь к папке и magic и обращаясь
  235. 8:45там такой фотографии который называется
  236. 8:47как по пенсии .
  237. 8:49далее нам необходимо создать пустое
  238. 8:52полотно и здесь важный момент это пустое
  239. 8:55полотно оно должно содержать точно те же
  240. 8:57самые размеры что и наше первоначальное
  241. 9:00фото
  242. 9:00иначе вот эти вот все маски они просто
  243. 9:02не будут работать поэтому чтобы нам
  244. 9:05создать пустое полотно с нужными
  245. 9:08размерами мы с вами просто обращаемся к
  246. 9:11нашему фото обращаемся к его размерам и
  247. 9:14здесь мы используем срез я возьму только
  248. 9:16первые два элемента то есть количество
  249. 9:18слоев меня не интересует поэтому беру
  250. 9:20просто два первых элемента это ширина и
  251. 9:22соответственно высота
  252. 9:24и далее мы особо давайте ничего с вами
  253. 9:26менять не будем мы просто возьмем
  254. 9:28например ну допустим тот же самый первый
  255. 9:31наш метод
  256. 9:31едва сны здесь я предлагаю сделать
  257. 9:34следующее нам необходимо выполнить
  258. 9:36объединение фотографиям причем на данный
  259. 9:39момент мы будем объединять одно и то же
  260. 9:41самое фото то есть вот не удивляйтесь
  261. 9:43что здесь два раза прописал как бы одну
  262. 9:45и ту же самом перемены
  263. 9:46дело в том что здесь я просто указываю
  264. 9:47то что к фотографии мы добавляем ту же
  265. 9:50самую фотографию есть по факту самого по
  266. 9:52себе объединение не произойдет но в то
  267. 9:55же время мысленно добавляем еще и третий
  268. 9:57параметр он называется mask ну или же
  269. 9:59другими словами маска и в качестве маски
  270. 10:02мы можем же сюда передать ну допустим
  271. 10:04круг или там квадрат или что то в этом
  272. 10:07духе нам и давайте вот сейчас такое
  273. 10:09попробуем с вами запустите посмотрим что
  274. 10:11же у нас получилось смотрите давайте
  275. 10:13вспомним что круг он мне находился вот
  276. 10:15где-нибудь вот здесь да и соответственно
  277. 10:18мы можем заметить что из первоначального
  278. 10:20изображения все что у нас было выделено
  279. 10:22все что нас теперь показывается это
  280. 10:24именно то что находилось в самом круги
  281. 10:27причем круг был до этого белым ну
  282. 10:29конечно же он теперь стал прозрачным
  283. 10:30просто показывается само по себе
  284. 10:32изображение
  285. 10:33мы давайте сделаем с вами немного как-то
  286. 10:35более логично мы давайте этот круг
  287. 10:37расположим ну предположим давайте
  288. 10:39200 и 300 вот это вот его будет центр на
  289. 10:43то есть смещение выксу на 200 по игреку
  290. 10:45на 300 также увеличим его радиус давайте
  291. 10:49скажем что он будет например как 120 и
  292. 10:52еще раз мы это все остановим запустим и
  293. 10:54вот мы замечаем что видите вот этот
  294. 10:56кружочек он действительно вырезал
  295. 10:58определенную часть нашего изображения то
  296. 11:00есть вот за счет масок мы вы можете
  297. 11:02вырезать из ваших изображений
  298. 11:04определенную часть и дальше только с
  299. 11:06этой частью вы можете работать ну и в
  300. 11:08точно таком же формате вы можете
  301. 11:10вырезать не только круг вы можете
  302. 11:12вырезать и просто квадрат вы можете
  303. 11:14создать какую-то другую форму и
  304. 11:16соответственно тоже это все сможете
  305. 11:17спокойно вырезать ну и например в моем
  306. 11:19примере мне было бы удобно вырезать
  307. 11:21просто часть где у нас есть те
  308. 11:23какие-либо буквы ну допустим и давайте
  309. 11:27мы даже возможно такое с вами сделаем
  310. 11:28чтобы мне такое реализовать не просто
  311. 11:30необходимо квадрат немного уменьшить по
  312. 11:32размерам возможно давайте я здесь укажу
  313. 11:35как 150 ну как бы от 25 до 150 и до этот
  314. 11:40действительно идеально то что не как раз
  315. 11:42и нужно его для получается из всего
  316. 11:44моего прошлого изображения вырезал
  317. 11:45просто номер урока и соответственно
  318. 11:48дальше с этим кусочком изображение могу
  319. 11:51уже работать как не только вздумается ну
  320. 11:53и конечно же обработать вот такой
  321. 11:54маленький кусочек
  322. 11:55изображение будет гораздо быстрее нежели
  323. 11:57обрабатывать все изображения целиком а
  324. 12:00при этом возможно вы все изображение
  325. 12:01нужно было вам нужно было только эта
  326. 12:03информация в общем за счет по битовых
  327. 12:05операция также масок вы можете просто
  328. 12:07указываете вы можете обрезать
  329. 12:09изображение и выделять из него только
  330. 12:11нужную вам часть что достаточно удобно
  331. 12:14ну что ж на этом у меня все надеюсь урок
  332. 12:17вам понравился если так то не забывайте
  333. 12:19подписываться на канал и вступать в наши
  334. 12:21соцсети все ссылки на них будут в
  335. 12:23описании к этому видео у меня ж на этом
  336. 12:25все до скорых встреч пока

About this transcript

This page contains the full transcript of Изучение Python OpenCV / Урок #6 – Побитовые операции и маски by Гоша Дударь, generated from the public captions YouTube serves with the video. The transcript has 2,114 words across 336 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.

What you can do with it

Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.

Free YouTube transcript tool

YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.