Встановлення OpenCV 3.0 та Python 2.7+ на macOs

Стаття: https://www.pyimagesearch.com/2015/06/15/install-opencv-3-0-and-python-2-7-on-osx/

Відмінності для macOs High Sierra 10.13 та OpenCV 2.4.13.4:

pip встановив пакети у Cellar без шляху

pip install virtualenv virtualenvwrapper
vi .bash_profile

тому прописуємо повний шлях до середовища

# Virtualenv/VirtualenvWrapper
source /usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/bin/virtualenvwrapper.sh

та також додаємо його до шляху:

source ~/.bash_profile
export PATH=/usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/bin:$PATH

Далі інструкція співпадає, тільки беремо версію 2.4.13.4 і відповідно opencv_contrib непотрібен

mkvirtualenv cv
pip install numpy
brew install cmake pkg-config
brew install jpeg libpng libtiff openexr
brew install eigen tbb
cd ~
git clone https://github.com/Itseez/opencv.git
cd opencv/
git checkout 2.4.13.4
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D PYTHON2_PACKAGES_PATH=~/.virtualenvs/cv/lib/python2.7/site-packages -D PYTHON2_LIBRARY=/usr/local/Cellar/python/2.7.14/Frameworks/Python.framework/Versions/2.7/bin -D PYTHON2_INCLUDE_DIR=/usr/local/Frameworks/Python.framework/Headers -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules ..
make -j2
make install

не закидає бібліотеку у site-packages – робимо власноруч

cp lib/cv2.so ~/.virtualenvs/cv/lib/python2.7/site-packages/

 

Опубліковано в категорії: macOS, other | Позначки: , | Залишити коментар

Вийшли оновлення Apple iOS 11, watchOS 4 і tvOS 11

Як і було заплановано, вчора компанія Apple оголосила про початок поширення нових версій операційних систем – iOS 11, watchOS 4 і tvOS 11, представлених на WWDC 2017 початку червня. Оновлення ОС macOS 10.13 High Sierra вийде в наступний понеділок – 25 вересня.

iOS отримала суттєво перероблений «Центр управління» з єдиним екраном для всіх елементів управління (раніше вони були розкидані по трьом екранам) і розширеними можливостями налаштування (користувач може вибирати, які кнопки показувати на цьому меню, а які приховати) і вдосконалене додаток «Карти» з деталізованою навігацією. У iMessage тепер можна відправляти і отримувати гроші, а всі повідомлення синхронізується через сервіс iCloud. У Siri з’явилися нові чоловічий і жіночий голоси і тепер помічник повинен ще краще навчатися. Крім цього, в iOS 11 додалася можливість редагувати Live Photo, а сама функція отримала нові режими з промовистими назвами «Петля» і «Маятник» і можливості, включаючи можливість створення фотографій, знятих з довгою витримкою. Помітно поліпшили стандартний додаток «Камера», додавши дев’ять нових художніх фільтрів.

Користувачам планшетів iPad в iOS 11 теж додали чимало: файловий менеджер, доступну з будь-якого екрану нову панель Dock, з якої можна швидко запускати улюблені програми, а також відкривати файли і перемикатися між ними одним жестом змахування, покращений режим багатозадачності перетягування для швидкого переміщення тексту, фотографії і файлів з однієї програми до іншої, а також безліч нових можливості по частині роботи зі стилусом Apple Pencil.

Опубліковано в категорії: iOS, tvOS, watchOS | Позначки: , , | Залишити коментар

Apple представила новий iPhone X c 5,8-дюймовим дисплеєм OLED, корпусом зі скла і системою Face ID

Звичайно ж, на сьогоднішній презентації компанія Apple представила нові смартфони iPhone, в тому числі і повністю нову, ювілейну модель (до 10-річчя запуску першого смартфона купертінцев).

Почнемо з того, що новий смартфон Apple називається iPhone X, причому правильно говорити «айфон десять», а не «айфон ікс», що логічно. Вийшов «десятий айфон» саме таким, як на останніх зображеннях – дисплей займає практично всю площу лицьовій панелі, за винятком невеликої виїмки, де розташувався блок лицьовій камери та інші датчики, рамки дуже тонкі, кути округлі. Корпус, прикритий склом з обох сторін, має захист від пилу і вологи (ступінь захисту IP67). Власне, про це ходило багато чуток, але тепер все офіційно підтверджено.

Як і передбачалося, iPhone X втратив фізичну кнопку Home і сенсор Touch ID. Місце останнього зайняла Face ID – біометрична система аутентифікації по обличчю, за роботу якої відповідає спеціальний блок True Depth Camera, що складається з декількох камер і сенсорів. Ще раз – сканера відбитків пальців в iPhone X – немає, ніде, ні під екраном, ні на задній панелі, ні в кнопці включення. Входять до блоку True Depth Camera компоненти перераховані на зображенні нижче.

Як розповіла Apple, для розпізнавання осіб використовується машинне навчання і вбудований в однокристальну платформу нейронний блок. Останній являє собою виділений 2-ядерний процесор, який обробляє 600 млрд операцій в секунду. Виробник запевняє, що система працює ідеально, не відволікається на нову зачіску, окуляри та іншу маскувальну атрибутику і може розпізнати особу власника навіть вночі. Вся обробка інформації в даному випадку відбувається на самому iPhone X і не залишає меж вбудованого сховища пристрою.

Ще одне відоме з витоків нововведення – можливості створювати і відправляти 3D-емодзі Animoji, які будуть повторювати рухи особи користувача. Так, iPhone X буде не просто розпізнавати обличчя власника, а й розуміти, чи дивиться він на екран і включати той з першого погляду.

Всередині iPhone X встановлена ​​однокристальна платформа Apple A11, в конфігурацію якої входить 64-бітний шестиядерний процесор і трьохядерний GPU власної розробки Apple. Як стверджується, Apple A11 перевершує A10 по продуктивності процесорної частини на 25%, графічної – на 30%. Крім того, повідомляється про оптимізацію для операцій машинного навчання.

iPhone X отримав OLED дисплей, який називається Super Retina Display. Дисплей характеризується діагоналлю 5,8 дюйма, дозволом 2436 × тисячу сто двадцять п’ять точок (458 ppi) і контрастністю 1 000 000: 1. Заявлена підтримка розширеного динамічного діапазону (стандарти HDR10 і Dolby Vision), технології 3D Touch і True Tone.

Оснащення iPhone X включає здвоєну основну камеру. Обидва модулі мають однакову роздільну здатність -12 Мп, але об’єктиви у них різні: ширококутний основний з діафрагмою F / 1.8 і додатковий телефото з діафрагмою F / 2.4. Між вертикально розташованими модулями вбудований LED-спалах з чотирма світлодіодами. Обидві модуля оснащуються оптичною стабілізацією, підтримується можливість дворазового оптичного збільшення.

Фронтальна камера TrueDepth характеризується роздільноб здатністю 7 Мп і підтримує портретний режим для селфі з ефектним розмиванням фону.

Основна камера вміє записувати відео 4К при 60 к / с, а фронтальна – відео дозволом до 1080р.

Що стосується автономності, Apple говорить, що на одному заряді iPhone X пропрацює в змішаному режимі 2 години довше, ніж iPhone 7.

З коробки смартфон працює під управлінням ОС iOS 11.

Підтримується бездротова зарядка Qi, а також швидка провідна зарядка – за півгодини можна буде зарядити смартфон на 50%. При габаритах 143,6х70,9х7,7 мм смартфон важить 174 г.

Стартова вартість iPhone X – $ 999 за версію з 64 ГБ флеш-пам’яті. Також буде запропонована версія з 256 ГБ флеш-пам’яті. Поки були заявлені тільки кольору Space Gray і Silver, але, ймовірно, в майбутньому палітра буде розширена. У комплект поставки входять провідні навушники EarPods з роз’ємом Lightning.

Опубліковано в категорії: iOS, iPhone | Позначки: , | Залишити коментар

Apple представила смартфони iPhone 8 і iPhone 8 Plus, створені для доповненої реальності

Як і очікувалося, компанія Apple представила нову модель смартфона iPhone 8 у вигляді двох модифікацій iPhone 8 і iPhone 8 Plus. Зовні новинка не надто відрізняється від торішніх моделей, але безліч змін ховаються всередині.

Смартфони Apple iPhone 8 і iPhone 8 Plus оснащені рамкою зі спеціального сплаву алюмінію (аерокосмічного класу), а також скляної панеллю на звороті. Заявлений захист від води та пилу.

У моделях використовуються 4,7- і 5,5-дюймовий дисплей True Tone, відповідно. Як відзначає виробник, дисплеї забезпечують високу точність передачі кольору і широкий колірний осяг. Також заявлена підтримка 3D Touch. У пристроях інтегровані стерео динаміки.

Серцем представлених апаратів став новий 64-бітний процесор A11 Bionic, який включає 6 обчислювальних ядер (2 продуктивних і 4 енергоефективних), покращений контролер продуктивності другого покоління, GPU власної розробки і процесор обробки зображень (також власної розробки). Всі компоненти процесора забезпечують значний приріст продуктивності в порівнянні з попереднім чіпом A10.

Нові смартфони Apple серії iPhone 8 можуть похвалитися поліпшеними камерами на базі нових сенсорів. Обидві моделі містять оптичну систему стабілізації зображення, а версія iPhone 8 Plus оснащена подвійною камерою. Всі сенсори 12-мегапіксельні.

Істотно були поліпшені можливості камери. Так, був доопрацьований портретний режим, підвищена продуктивність при обробці відео, впроваджена одночасний запис відео і аналіз рухів. Камера тепер здатна записувати відео з роздільною здатністю 4K з частотою 60 кадрів в секунду або в Full HD з частотою 240 кадрів в секунду.

Додатково зазначається, що смартфон iPhone 8 спочатку розроблявся з розрахунком на використання в сфері доповненої реальності. Для цього були додані нові сенсори, відкалібрована камера, оптимізований процесор.

Новий смартфон «створений для бездротового майбутнього». Уже в минулій моделі Apple відмовилася від проводового підключення навушників через 3,5-міліметровий звуковий роз’єм, а в iPhone 8 і iPhone 8 Plus впроваджена підтримка бездротової зарядки батареї на базі стандарту Qi.

Смартфони Apple iPhone 8 і iPhone 8 Plus надійдуть у продаж у вигляді моделей з 64 і 256 ГБ вбудованої флеш-пам’яті. Ціна iPhone 8 починається з позначки $ 699, а за iPhone 8 Plus доведеться заплатити від $ 799. Попередні замовлення можна буде розміщувати з 15 вересня, поставки почнуться 22 вересня. iOS 11 буде доступна для завантаження з 19 вересня.

Опубліковано в категорії: iOS, iPhone | Позначки: , | Залишити коментар

Анонсовано телевізійну приставку Apple TV 4K

Як видно з назви, новинка отримала підтримку відтворення контенту 4K. Пристрій також підтримує HDR (стандарти Dolby Vision HDR і HDR10), що покликане забезпечити найкращу якість передачі кольорів в світлих і темних ділянках сцени. Але тільки на сумісних телевізорах. Нова модель заснована на процесорі Apple A10X Fusion, який забезпечує 2-кратний приріст продуктивності, і містить 3 ГБ оперативної пам’яті. Апаратна платформа справляється з відтворенням контенту 4K з частотою 60 кадрів в секунду. Вона також дозволить запускати ігри.

Інтерфейс приставки Apple TV був перероблений і тепер оптимізований для 4K. Також в комплект поставки включається модифікований пульт ДУ Siri Remote. Під час презентації було сказано, що найбільші студії будуть пропонувати свої фільми в iTunes Store в дозволі 4K. Ті користувачі, які вже придбали HD версії фільмів, безкоштовно отримають можливість переглядати і 4K-версії. Також наголошується, що новий додаток Apple TV для iOS 11 дозволить переглядати фільми, серіали, новини.

Нова версія телевізійної приставки Apple TV 4K стане доступною для попереднього замовлення з 15 вересня, а фактичні продажі розпочнуться 22 вересня. Ціна складе $ 179 і $ 199 за моделі з 32 і 64 ГБ вбудованої флеш-пам’яті, відповідно. Попередня модель Apple TV з 32 ГБ вбудованої пам’яті буде продаватися за ціною $ 149.

 

 

Опубліковано в категорії: other, tvOS | Позначки: , | Залишити коментар

Представлений розумний годинник Apple Watch Series 3 з вбудованим модемом LTE

Apple Watch Series 3, в цілому зберегли колишній дизайн, не рахуючи червоненького коліщатка в одній з версій.

Головне нововведення в Apple Watch Series 3 – вбудований модем стільникового зв’язку – LTE. Тобто, тепер на пробіжку можна брати тільки годинник, а смартфон iPhone залишати вдома, і при цьому не втрачати нічого в плані необхідних функцій. Годинник можна буде вільно використовувати для здійснення дзвінків, GPS-навігації, прослуховування музики та іншого.

В Apple Watch Series 3 використовується нова платформа з двоядерним процесором, який, як було зазначено, на 70% швидше свого попередника. Це приріст в числі іншого дозволив наділити помічника Siri здатністю розмовляти. Раніше вона могла тільки відповідати текстом на екрані. Також в конфігурації – новий бездротової чіп для Wi-Fi і Bluetooth – W2, який, за словами Apple, на 50% економічніший.

Підтримка стільникового зв’язку в годиннику Apple Watch Series 3 реалізована за допомогою вбудованоїSIM карти нового стандарту – eSIM. Телефонний номер буде тим же, що і в iPhone, додаткова SIM-карта не знадобиться. Завдяки цьому і багато чому іншому Series 3 за розміром повністю ідентичні Series 2.

Цікавий момент – роль антени в Apple Watch Series 3 виконує екран. Apple обіцяє близько 18 годин безперервного використання з активною передачею даних, тобто, нічого революційного.

Прийом попередніх замовлень на Apple Watch Series 3 буде відкритий 15 вересня, а початок продажів запланований на 22 вересня. Дані стосовно ринку США. Що стосується цін, нові Watch Series 3 – від $ 399, Watch Series 2 – від $ 329, Watch Series 1 – $ 249.

Опубліковано в категорії: other, watchOS | Позначки: , | Залишити коментар

Всі великі анонси компанії Apple на WWDC 2017!

Apple, зробила багато оголошень в перший день WWDC 2017 року, включаючи останні версії iOS, MacOS і watchOS. Були також представлені нові Mac і iPad.

watchOS 4

Apple, оголосив watchOS 4, яка з’явиться пізніше цього року з новими циферблатами, фічами фізичної активності, новими інструментами для розробників і багатьма іншими.

macOS High Sierra

Останнє оновлення від Apple своєї операційної системи Mac фокусується на технологіях ядра та удосконалень під капотом, з широкою підтримкою різних VR технологій.

Нові Mac

Apple, освіжив свої лінійки iMac, MacBook, MacBook Pro, додавши процесори Kaby Lake, більш потужну графіку і розширені функції пам’яті. Компанія також оголосила про iMac Pro, який буде поставлятися в грудні і явно призначатися для професійних користувачів.

iOS 11

iOS 11 буде запущено пізніше цього року і буде матиме ряд нових функцій і покращень, у тому числі iMessage у iCloud, платежі Apple Pay від людини до людини, покращення у Siri, і багато іншого. Apple, також представила ARKit, який дозволяє розробникам почати створювати додатки доповненої реальності, які краще використовують iOS технології.

iPad Pro

Apple, оголосила про випуск нового 10,5-дюймовий iPad Pro і оновлений 12,9-дюймовий iPad Pro. Обидва iPad мають дисплей Apple True Tone з підтримкою широкої кольорової гами, поряд з поліпшенням системи камери на базі iPhone 7. Affinity Pro, який пропонує професійний рівень редагування фотографій для iPad і використовує переваги нового процесора A10X на iPad Pro, є тепер також доступна на App Store за $19,99.

HomePod

HomePod компанії Apple є розумною колонкою під упарвлінням Siri, яка надійде у продаж пізніше цього року. HomePod використовує просторове розуміння для аналізу його середовища і адаптувати свій звук до кімнати де знаходиться, і може направити свій звук за допомогою технології формування діаграми спрямованості. Кілька HomePods можутьз’єднатися бездротово один з одним і працювати разом, щоб забезпечити ще кращий звук.

 

Опубліковано в категорії: iOS, macOS, watchOS, WWDC | Позначки: , , , , , , , | Залишити коментар

Node.js + Selenium + PlayStation.Store (part 3 of 3)

This the third and final article in the series of three about subject. First one. Previous one.

K.I.S.S. option:

SELECT * FROM game_descriptions WHERE description like '%PS®Move%' or description like '%PS Move%'

The simplest SQL query was able to find 30 games with PS®Move:

It is a good start, but actually there are a bit more games 😉 Small number of games does not mention PS®Move in description, but has it in “techSpecs” or Details sidebar block.

TBD

Опубліковано в категорії: other | Позначки: , , , , , | Залишити коментар

Node.js + Selenium + PlayStation.Store (part 2 of 3)

This the second article in the series of three about subject. Previous one. Next one.

Here we will write a simple script to load game descriptions:

var mysql = require('mysql');
var webdriver = require('selenium-webdriver');
 
// CREATE TABLE game_descriptions (id int(11) AUTO_INCREMENT, url varchar(256), description text, PRIMARY key(id));
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'tolik',
  password : 'i_love_psn',
  database : 'psn'
});

// div class="descriptionTxt" itemprop="description"...

connection.query('SELECT * FROM game_urls', function (error, results, fields) {
  if (error) throw error;
  for (var i=0,n=results.length; i<n; i++) {
    let url = results[i].url;
    console.log('Load url: ', url);    
    let browser = new webdriver.Builder().usingServer().withCapabilities({'browserName': 'chrome' }).build();
    browser.get(url);
    browser.wait(webdriver.until.elementLocated(webdriver.By.className('descriptionTxt')), n * 50 * 1000).then(function(elm) {
      console.log('Description text found!');
      elm.getAttribute("innerHTML").then(function(value){
        console.log(value);
        browser.quit();
        var params = [url, value];
        var query = connection.query('INSERT INTO game_descriptions(url,description) VALUES(?,?)', params, function(err, result) {
          console.log(err);
          console.log(result);
          if (i==(n-1)) connection.end();
        });
      });
    }); 
  }
});

As usual it is pretty straightforward – init packages, connect to the DB, load the URLs from the DB for each PS4 game we have saved earlier, load URLs one by one and wait until it renders the game description, then grab the description div and put its text in the DB. Test run:

node description.js

…and after 743 page loads Chrome or Selenium WebDriver got stuck 🙂

But don’t worry! Since we were loading records from the DB and were processing it sequentially we can re-start the process simply updating the app line:

for (var i=744,n=results.length; i<n; i++) {

and we good to go again. If the SONY site crashes like “Site is not available” or “The page cannot provide the secure connection” or any other issues arise, you can simply help the browser, by refreshing the page – Selenium WebDriver is running in the background and waits for the page to load and render based on our scripted condition.

Next is How to look for PS®Move.

Опубліковано в категорії: other | Позначки: , , , , , | Залишити коментар

Node.js + Selenium + PlayStation.Store (part 1 of 3)

I will write here about my experience with Node.js, Selenium web driver(Chrome) and PlayStation.Store site here as blogger platform where I used to post technical articles is running straight to hell 🙂

Why I did it? Did you ever tried to find the PS®Move game for PS4 online? As of today PlayStation.Store site search returns just ONE result and it is not a game:

If you Google around, you will find a bunch of PS3 games, and surprise MF! it is not compatible with PS4, so I basically ended up with my two PS®Move controllers useless.

But wait! Browsing around the PlayStation.Store I have noted that there are some games compatible with PS®Move, but there is no filter whatsoever and the pages load dynamically with JavaScript and the PS®Move could be “PS Move” or “PS®Move” or something else and placed on the page randomly. So what? Selenium WebDriver to the rescue!

I will write a 3 short articles:

  1. How to get all game URLs (this one)
  2. How to get game description
  3. How to look for PS®Move

How to get all game URLs?

Simple! 🙂 I have macOS and decided to use JavaScript with Selenium. I already had Homebrew package manager installed, so just have installed node.js with

brew install node

and downloaded Google Chrome Driver for Selenium and installed node.js libraries fro MySQL where I will be storing my data and selenium web driver:

npm install mysql
npm install selenium-webdriver

dropped the downloaded chromedriver binary to the same directory where I had mysql & selenium-webdriver node packages installed and we are ready to start playing around with the code:

var mysql = require('mysql');
var webdriver = require('selenium-webdriver');
 
var baseURL = 'https://store.playstation.com/#!/en-us/all-ps4-games/cid=STORE-MSF77008-PS4ALLGAMESCATEG/';
var totalPages = 55;

// CREATE TABLE game_urls ( id int(11) AUTO_INCREMENT, url varchar(256), PRIMARY KEY (id));
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'tolik',
  password : 'i_love_psn',
  database : 'psn'
});

// a class="permalink" href="..."

for (var i=1; i<=totalPages; i++) {
  let url = baseURL + i;
  console.log('Processing: ', url);
  let browser = new webdriver.Builder().usingServer().withCapabilities({'browserName': 'chrome' }).build();
  browser.get(url);
  browser.wait(webdriver.until.elementLocated(webdriver.By.className('permalink')), totalPages * 600 * 1000).then(function(elm) {
    console.log('Game links found on page: ', i);
    browser.findElements(webdriver.By.className('permalink')).then(function(results){
      for (let j=0, n=results.length; j<n; j++) {
        results[j].getAttribute("href").then(function(value){
          console.log(value);
          var params = [value];
          var query = connection.query('INSERT INTO game_urls(url) VALUES(?)', params, function(err, result) {
            console.log(err);
            console.log(result);
            if (i==totalPages && j==(n-1)) connection.end();
          });          
        });
      }
      browser.quit();
    });
  });
}

The code is pretty straightforward – init packages, connect to the DB, prepare the URLs for each of the current 55 pages with PS4 games, load URLs one by one and wait until it renders the game grid, then grab the permalinks to the individual game pages and put it in the DB. End of story.

node list.js

You guessed it right, I have named the script about list.js 🙂

Test run loaded all current 1637 games from 55 pages for PS4:

Next is how to get the game description.

Опубліковано в категорії: other | Позначки: , , , , , | Залишити коментар