ビードロ学祭よろしくオンライン大会使用構築【最終25位】
パーティコンセプト
メガガブリアスを使いたい(雑)
というところからスタートした。
以下メガガブリアスのスペック紹介。
メガガブリアス 特性:すなのちから
108-170-115-120-95-92(700)
どこからどう見ても弱い訳ないじゃん(でも弱い)
カバルドンの流行もあり、すなのちからを生かせる部分もあるはずなのでどうにかして生かしたいと考えた。
火力、耐久は申し分ない、欠点は素早さはお得意のバトン戦法でケアしようと考えた。
しかしバトンを考える上で2点ほど問題があった。
問題点1:メガが被る
私のパーティにおいては、基本的にメガバシャーモがバトン役を遂行するためメガが被るという問題がある。
じゃあバシャをメガさせなきゃいいじゃん、って話なんだけど耐久面の都合であまりメガを外したくないというのが現状である。
使用ポケモン
メガガブリアス@ガブリアスナイト
特性:すなのちから
性格:控えめ
努力値:52-0-0-252-0-204
実数値:190-171-135-189-115-138
技構成:流星群 大地の力 かえんほうしゃ めざめるパワー(氷)
cぶっぱ、s1段階上昇で135族抜き、残りhという調整のせいでh実数値190とかいうわけわからん数値に。
控えめでぶっぱしてるのに無振り下降補正a実数値とさほど変わらないという悲しい現実。
アブリボン@ピンチベリー
特性:鱗粉
性格:臆病
努力値:252-0-0-4-0-252
技構成:マジカルシャイン(笑) リフレクター 蝶の舞 バトンタッチ
特殊バトンとして相性補完がよく、技の追加効果で能力の下がらないアブリボンを起用。
ムーンフォースが遺伝とは知らなかったなぁ()
物理ダメージ対策としてリフレクターも採用した。
特殊実数値が低いとはいえ、威嚇の影響を受けず、7世代を代表する構築、カバマンダガルドにも一方的に強いこの並び。
もともと高い物理耐久に加え、蝶舞バトンによる特殊火力、耐久、そして素早さの補強。
google先生に聞いても構築記事は出てこなかった。
この並びの先駆者になれるだろうーーーー確信はあった。
python画像処理日記【特徴点マッチングを用いた顔の類似度判定】
はじめに
こんにちは、しぐれです。
突然ですが、僕はアイススケートで有名な羽生結弦選手に似ていると言われることがたまにあります。
自分ではよく分からないので、今回はpythonさんにどれくらい似ているのか確かめてもらおうと思います。
使用した画像
実装内容
pyファイルを実行するとカメラが起動。
カメラで画像を撮影し、sample2.jpgとして保存。
(撮影はsキー、終了はqキー、カメラ終了後マッチング判定開始)
羽生選手の画像はsamples.jpgという名前で保存した。
特徴点マッチング判定後、sample2.jpgは削除するようにした。
以下ソースコード
import numpy as np import cv2 import os from PIL import Image import re cap = cv2.VideoCapture(0) while(True): #フレームキャプチャ ret, frame = cap.read() #画面に保存する cv2.imshow('frame',frame) #キーボード入力待ち key = cv2.waitKey(1) & 0xFF #qが押されたら終了 if key == ord('q'): break #sが押されたら保存 if key == ord('s'): path = "sample2.jpg" cv2.imwrite(path,frame) #トレーニング画像 TARGET_FILE = 'samples.jpg' #画像サイズ IMG_SIZE = (200,200) #テスト画像読み込み、グレースケール化? #testname = 'sample2.jpg' target_img = cv2.imread('sample2.jpg',cv2.IMREAD_GRAYSCALE) #リサイズ target_img = cv2.resize(target_img,IMG_SIZE) bf = cv2.BFMatcher(cv2.NORM_HAMMING) # ORBとAKAZEは特徴点や特徴量を抽出するアルゴリズム # コメントアウトを調節することによりどちらでも行える # detector = cv2.ORB_create() detector = cv2.AKAZE_create() #ターゲットの写真の特徴点を取得 (target_kp, target_des) = detector.detectAndCompute(target_img, None) print('TARGET_FILE: %s' % (TARGET_FILE)) #トレーニング画像の読み込み、グレースケール化? comparing_img = cv2.imread('samples.jpg', cv2.IMREAD_GRAYSCALE) comparing_img = cv2.resize(comparing_img, IMG_SIZE) #トレーニング画像の特徴点取得 (comparing_kp, comparimg_des) = detector.detectAndCompute(comparing_img,None) #BFMatcherで総当たりマッチングを行う matches = bf.match(target_des, comparimg_des) #特徴量の距離を出し、平均を取る dist = [m.distance for m in matches] ret = sum(dist) / len(dist) #cv2がエラーの場合 #except cv2.error: #ret = 100000 #結果を出力 print('sample2.jpg', ret) #撮影した画像を削除 os.remove('sample2.jpg')
※cv2がエラーの場合の処理がエラーを起こしているのでとりあえずコメントアウト
画像はpyファイルと同じ場所に格納してるので画像のPATHはありません。
格納場所と実行場所が違う場合等は適宜PATH設定してください。
今回は特徴量を取得するアルゴリズムが2種類用意されており、使い分けることで結果が変わるみたいですね。
出力結果
ApplenoMacBook-Pro:$ python3 ruizido.py TARGET_FILE: samples.jpg sample2.jpg 125.68085106382979
何回かやってみたけど結果は大体123〜129の間でした。
(値が小さいほど似ているということになります。)
終わりに
結局、似ているのかよく分からんかった。
今回は画像の特徴点からの測定だったので、次は顔検出した上での測定をやってみたいですね。
【備忘録】pythonでNo module nemad〜のエラーを回避した方法
前回書いたコードを実行しようとすると
Traceback (most recent call last):
File "capture.py", line 3, in
import cv2
ImportError: No module named cv2
cv2モジュールがないと怒られた。
まさかインストールされてないのか?と一応リストを確認すると、、
$ pip3 list
Package Versioncycler 0.10.0
kiwisolver 1.1.0
matplotlib 3.1.1
mutagen 1.42.0
numpy 1.17.3
opencv-python 4.1.1.26←これ
Pillow 6.2.1
pip 19.2.3
pygame 1.9.6
pyparsing 2.4.2
python-dateutil 2.8.0
setuptools 41.4.0
six 1.12.0
wheel 0.33.6
cv2はとりあえずある。
長いこと検索しても解決口が見当たらなかったところに
とりあえずpythonからprint(sys.prefix)してみろという内容を見て実行。
>>> import sys
>>> print(sys.prefix)
/System/Library/Frameworks/Python.framework/Versions/2.7
これもしかしてpythonコマンドだとデフォでpython2.7を実行してんのか、、?
pip3はpython3のコマンドだからpythonコマンドじゃopencv-pythonに対応してないのかね?
試しにpyファイルのあるフォルダまで戻ってpython3で実行する。
$ python3 capture.py
無事実行できました。
PATHの設定ミスってコマンドほとんど使えなくなった時はひやっとした。
無駄な時間と労力を返しておくれ、、
python画像処理日記【グレースケール化】
画像出力
# -*- coding: utf-8 -*- #from mutagen.mp3 import MP3 as mp3 import cv2 import numpy as np import pygame from PIL import Image import matplotlib.pyplot as plt #%matplotlib inline #画像ファイルの読み込み img = cv2.imread("marubatu.png") #ウィンドウの描画 plt.figure(figsize=(5,5)) #何してるか分からん img2 = img[:,:,::-1] #x軸、y軸のメモリ設定(今回は空?) plt.xticks([]),plt.yticks([]) #画像描画 plt.imshow(img) plt.show()
出力結果
グレースケール変換
# -*- coding: utf-8 -*- #from mutagen.mp3 import MP3 as mp3 import cv2 import numpy as np import pygame from PIL import Image import matplotlib.pyplot as plt #%matplotlib inline #画像ファイルの読み込み img = cv2.imread("marubatu.png") #ウィンドウの描画 #plt.figure(figsize=(5,5)) #何してるか分からん ##img2 = img[:,:,::-1] #x軸、y軸のメモリ設定(今回は空?) #plt.xticks([]),plt.yticks([]) #画像描画 #plt.imshow(img) #plt.show() #グレースケール変換 gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #gray.jpgとして変数grayを保存 cv2.imwrite("gray.jpg",gray) #gray.jpgを読み込む img_p = cv2.imread("gray.jpg") #分からん img_p2 = img[:,:,::-1] plt.figure(figsize=(5,5)) plt.xticks([]),plt.yticks([]) plt.imshow(img_p) plt.show()
出力結果
ネガポジ変換で反転
# -*- coding: utf-8 -*- #from mutagen.mp3 import MP3 as mp3 import cv2 import numpy as np import pygame from PIL import Image import matplotlib.pyplot as plt #%matplotlib inline #画像ファイルの読み込み img = cv2.imread("marubatu.png") #ウィンドウの描画 #plt.figure(figsize=(5,5)) #何してるか分からん ##img2 = img[:,:,::-1] #x軸、y軸のメモリ設定(今回は空?) #plt.xticks([]),plt.yticks([]) #画像描画 #plt.imshow(img) #plt.show() #グレースケール変換 gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #gray.jpgとして変数grayを保存 #cv2.imwrite("gray.jpg",gray) #gray.jpgを読み込む #img_p = cv2.imread("gray.jpg") #分からん #img_p2 = img[:,:,::-1] #plt.figure(figsize=(5,5)) #plt.xticks([]),plt.yticks([]) #plt.imshow(img_p) #plt.show() edges = cv2.Canny(gray,50,150,apertureSize = 3) cv2.imwrite("edges.jpg",edges) img_p = cv2.imread('edges.jpg') img_p2 = img[:,:,::-1] plt.figure(figsize=(5,5)) plt.xticks([]),plt.yticks([]) plt.imshow(img_p) plt.show()
出力結果
ハフ変換で直線検出
# -*- coding: utf-8 -*- #from mutagen.mp3 import MP3 as mp3 import cv2 import numpy as np import pygame from PIL import Image import matplotlib.pyplot as plt #%matplotlib inline #画像ファイルの読み込み img = cv2.imread("marubatu.png") #ウィンドウの描画 #plt.figure(figsize=(5,5)) #何してるか分からん ##img2 = img[:,:,::-1] #x軸、y軸のメモリ設定(今回は空?) #plt.xticks([]),plt.yticks([]) #画像描画 #plt.imshow(img) #plt.show() #グレースケール変換 gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #gray.jpgとして変数grayを保存 #cv2.imwrite("gray.jpg",gray) #gray.jpgを読み込む #img_p = cv2.imread("gray.jpg") #分からん #img_p2 = img[:,:,::-1] #plt.figure(figsize=(5,5)) #plt.xticks([]),plt.yticks([]) #plt.imshow(img_p) #plt.show() edges = cv2.Canny(gray,50,150,apertureSize = 3) #cv2.imwrite("edges.jpg",edges) #img_p = cv2.imread('edges.jpg') #img_p2 = img[:,:,::-1] #plt.figure(figsize=(5,5)) #plt.xticks([]),plt.yticks([]) #plt.imshow(img_p) #plt.show() lines = cv2.HoughLinesP(edges, #入力画像 rho = 1,#ピクセル単位で表される投票空間の距離分解能 theta=np.pi/360,#ラジアン単位で示される投票空間の角度分解能 threshold = 100,#投票の閾値パラメータ minLineLength=200,#最小の線分長 maxLineGap=6)#2点が同一戦場にあるとみなす場合に許容される最大距離 #print(lines[:5]) for line in lines: x1, y1, x2, y2 = line[0] #赤線を引く red_line_img = cv2.line(img,(x1,y1),(x2,y2),(255,0,0),3) cv2.imwrite("output.jpg",red_line_img) img_p = cv2.imread('output.jpg') imgr_p2 = img[:,:,::-1] plt.figure(figsize=(5,5)) plt.xticks([]),plt.yticks([]) plt.imshow(img_p) plt.show()
出力結果
ここだけ思ったものが出ないので調べておきたい。
総括
pythonの画像処理楽しい
第18回神速オフレポート&ベスト16構築紹介
前語り
お疲れ様です。しぐれです。
来る2019年9月28日、人生初の神速オフに参加して参りました。
語る前にまず神速オフについて簡単な説明をば。
神速オフとは?
福岡で開催されるポケモン対戦オフ
メインルールはシングルバトル
詳細ルールはレーティングバトルに準拠
福岡屈指の大規模オフであり、参加者の多くは四六時中レーティングバトルに潜っている生粋の戦闘狂。
そして何よりの特徴は女の子が多いこと。(普通に多かった)
福岡出身の私ですが、福岡オフは人生初ということと、大型オフということも相まって参加前から非常に緊張しました。
そんな中でもそれなりに納得のいく結果も出せたのでオフパコレポという形で残したいと思います。
神速オフ当日
起床
6時半起床。
前回の火の国オフでは気を抜きすぎてケツマンゆるゆるの状態で参戦して、痛い目を見た。
そこで今回は前日から対戦感覚をしっかりと磨き、睡眠も十分にとった。
おかげで朝から好調。朝食もしっかり取り、いざ鎌倉。
駅員さん「切符印刷機の故障ですね。」
もう一人のぼく「(なめとんか〇R九州)」
なんと印刷機の故障(エラー?)で切符が発券できない(しかも行きの分だけ)という事態に。
発車10分前に切符を発券しようとする僕も悪いのかもしれないが、これはさすがに運に見放されている。
まあここで悪運引いておけば、オフで運が巡ってくるでしょ。そう考えると少し前向きになれた。(発車3分前)
結局切符無しでバタバタ新幹線に乗るという初めて♂の経験をしつつ福岡へ向かった。
車内にて
ひたすらモンハンしてました。
会場でswitchのモンハンしてた根暗を見かけた方。それ私です。
ひたすらブレイブ太刀で カウンター狙うのが最近の趣味です。気持ちいい。
ちなみに隣に座っていたお兄さんも、switch取り出してゲームしてました。
使用構築
名前も分からないラーメン屋@こだわりハチマキ
勇敢HA調整
店の名前を調べるためにネットの海に潜ったら漂流しかけたお店(どこ調べても出てこないww)
せっかく福岡来たんだからとりあえずラーメン食べたいと思って寄った1軒目。
ラーメン+チャーハン+餃子の3種の神器を求めて入店したがどうやら取り扱ってないらしい。
写真の餃子セットはラーメン、揚げ餃子と、とにかく胃袋を満たすことを目的とした調整。
とにかく火力を重視し、一撃のロマンに全てを捧げる姿は、まさにラーメン界のケッキングを彷彿とさせる一品。
博多ラーメンめん吉@炎z
臆病HS調整
博多に行く時は必ず寄るラーメン屋。
ラーメンの美味さもさることながら、何よりの魅力はコストパフォーマンスにある。
写真の「めん吉セット」は820円でラーメン、明太ご飯、餃子が出てくるデブセット優れもの。
ラーメン単体のインパクトは決して強くない。
しかしそれを補う汎用性が高さ、痒いところに手が届き且つ、明太ご飯の瞬間火力がたまらない魅力の一品。
終わりに
初めての福岡オフは、予選抜けというそこそこ納得のいく結果を残すことができました。
神速オフ運営の皆様、対戦、会話していただいた皆様、個別に声をかけて頂いたケラマスさん
本当にありがとうございました!!
それでは次回、鉄輪オフでお会いしましょう。
第一回火の国オフ使用構築
全く勝てなかったのでメモ書き程度に
構築意図
自分のパーティの場合、バトンバシャーモを使う上で重くなってくるのが水特殊アタッカー+リザードンyである。
また、リザードンは2種類のメガ進化があるため、パーティ単位である程度推測する必要がある。
しかしここ最近リザードンの構築偽装をよく見かけるため、予測のみで選出を決めることに危機感を覚えた。
そこで水特殊に強く、リザードンが対面で必ず引かずに、確実に削り(or瀕死に持ち込める)の入れることができる”襷ナットレイ”を採用するところからスタートした。
ナットレイ@気合の襷
勇敢HA
タネマシンガン
ジャイロボール
大爆発
ステルスロック
最後に
県外のオフに参加したのが初めてでしたが、非常に楽しかったです。
次回開催時も是非参加したいと思います。
運営の皆さま、ありがとうございました!!
USMシーズン15 〜レート2000達成!!就活限界バトンバシャ〜(最高201x・最終14xx)
はじめに
お疲れ様です。しぐれです。
s15が終わり、就活も落ち着いてきたため筆を取ろうと思った次第です。
就活が山場ということもありs15のシングルレートはやる気はありませんでしたが、いい感じに2000を達成する事ができました。
今期頑張ってくれたメンバーの紹介をしようと思います。
パーティ紹介
バシャーモ
持ち物:バシャーモナイト
特性:猛火→加速
性格:わんぱく
技構成:フレアドライブ ビルドアップ バトンタッチ 守る
僕たちのアイドル。
一般的な腕白HBSのバトン型。
HDS型にも興味があるため、後日それ用の色個体を厳選する予定。
ポリゴンz
持ち物:ノーマルz
特性:適応力
性格:ひかえめ
技構成:10万ボルト れいとうビーム 自己再生 テクスチャー
テンプレポリz。
バトンからテクスチャー展開しても良し、素の状態から展開できるところも魅力的な点。
耐久は素の状態でマンダの捨て身耐え調整。
素早さはテクスチャーz後130族抜き調整。
火力が少し足りないこともあったので人によっては要調整。
カプ・レヒレ
持ち物:水z
特性:ミストメイカー
性格:ひかえめ
技構成:ハイドロポンプ ムーンフォース 凍える風 瞑想
ひかえめHBC調整。
ミミッキュを狩るためのこご風水z型。
最近はこご風後の水z耐え調整なるものも現れているため要検討かもしれない。
チョッキカプ・レヒレなる面白い型があるそうなので今後使ってみたい。