しぐれの戯言箱

技術的なメモ書き、ポケモンの調整記事、ソシャゲ奮闘記…etc

ビードロ学祭よろしくオンライン大会使用構築【最終25位】

f:id:shiguderika:20191029130011p:plain

はじめに

こんにちは、しぐれです。
先日、あおいビードロの学祭宣伝大会に参加したので、その際に使用した構築について書きます。

僕にしては珍しいコンセプトパになっていますのでよろしければ是非。


パーティコンセプト

メガガブリアスを使いたい(雑)

というところからスタートした。

以下メガガブリアスのスペック紹介。


f:id:shiguderika:20191029130756g:plain

メガガブリアス 特性:すなのちから

108-170-115-120-95-92(700)

どこからどう見ても弱い訳ないじゃん(でも弱い)
カバルドンの流行もあり、すなのちからを生かせる部分もあるはずなのでどうにかして生かしたいと考えた。
火力、耐久は申し分ない、欠点は素早さはお得意のバトン戦法でケアしようと考えた。

しかしバトンを考える上で2点ほど問題があった。

問題点1:メガが被る

私のパーティにおいては、基本的にメガバシャーモがバトン役を遂行するためメガが被るという問題がある。
じゃあバシャをメガさせなきゃいいじゃん、って話なんだけど耐久面の都合であまりメガを外したくないというのが現状である。

問題点2:パーティが物理寄りになる

パーティが全体的に物理よりになる。その弊害として威嚇を絡めたサイクルがくると一気に疲弊する。またバトンしてところで物理受け(カバルドンナットレイなど)に止められる可能性が高い、僕が物理バトンに少し飽きたという問題点も挙げられる。

上記の解決策

……




じゃあ特殊ガブにすればいいじゃん(雑)

以下コンセプトポケモンのみ抜粋

使用ポケモン

f:id:shiguderika:20191029130756g:plain

メガガブリアスガブリアスナイト
特性:すなのちから
性格:控えめ

努力値: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先生に聞いても構築記事は出てこなかった。
この並びの先駆者になれるだろうーーーー確信はあった。

結論

ミミッキュで止まるので弱すぎ。解散。
刺さった試合はほぼ一試合だけ。

勝った試合の大半はバシャグロス+@1を選出してましたとさ。

おしまい

python画像処理日記【特徴点マッチングを用いた顔の類似度判定】

はじめに

こんにちは、しぐれです。

突然ですが、僕はアイススケートで有名な羽生結弦選手に似ていると言われることがたまにあります。
自分ではよく分からないので、今回はpythonさんにどれくらい似ているのか確かめてもらおうと思います。


使用した画像

f:id:shiguderika:20191029123725j:plain


実装内容

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 Version

cycler 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()

出力結果
f:id:shiguderika:20191022120441p:plain

グレースケール変換

# -*- 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()

出力結果
f:id:shiguderika:20191022120449j:plain

ネガポジ変換で反転

# -*- 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()

出力結果
f:id:shiguderika:20191022121600j:plain

ハフ変換で直線検出

# -*- 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()

出力結果
f:id:shiguderika:20191022134259j:plain
ここだけ思ったものが出ないので調べておきたい。

総括

pythonの画像処理楽しい

第18回神速オフレポート&ベスト16構築紹介

前語り


お疲れ様です。しぐれです。

来る2019年9月28日、人生初の神速オフに参加して参りました。
語る前にまず神速オフについて簡単な説明をば。

神速オフとは?

福岡で開催されるポケモン対戦オフ
メインルールはシングルバトル
詳細ルールはレーティングバトルに準拠
福岡屈指の大規模オフであり、参加者の多くは四六時中レーティングバトルに潜っている生粋の戦闘狂。
そして何よりの特徴は女の子が多いこと。(普通に多かった)

福岡出身の私ですが、福岡オフは人生初ということと、大型オフということも相まって参加前から非常に緊張しました。
そんな中でもそれなりに納得のいく結果も出せたのでオフパコレポという形で残したいと思います。

神速オフ当日

起床

6時半起床。
前回の火の国オフでは気を抜きすぎてケツマンゆるゆるの状態で参戦して、痛い目を見た。
そこで今回は前日から対戦感覚をしっかりと磨き、睡眠も十分にとった。

おかげで朝から好調。朝食もしっかり取り、いざ鎌倉。











駅員さん「切符印刷機の故障ですね。」




もう一人のぼく「(なめとんか〇R九州)」








なんと印刷機の故障(エラー?)で切符が発券できない(しかも行きの分だけ)という事態に。
発車10分前に切符を発券しようとする僕も悪いのかもしれないが、これはさすがに運に見放されている。
まあここで悪運引いておけば、オフで運が巡ってくるでしょ。そう考えると少し前向きになれた。(発車3分前)

結局切符無しでバタバタ新幹線に乗るという初めて♂の経験をしつつ福岡へ向かった。


車内にて

ひたすらモンハンしてました。
会場でswitchのモンハンしてた根暗を見かけた方。それ私です。
ひたすらブレイブ太刀で カウンター狙うのが最近の趣味です。気持ちいい。
ちなみに隣に座っていたお兄さんも、switch取り出してゲームしてました。


博多駅到着~早良市民センターへ

人が多すぎる。気持ち悪い。
なんで朝からこんな人がおるんや。おかしいやろ。(鹿児島の5倍はいた)

博多駅から地下鉄に乗り継ぎ、藤崎駅へ。


駅を降りた僕「市民センターどこwwww



地図を見る限り、近くにあるはずの市民センターを探して彷徨う亡霊となる僕。
まさか建物の2階に入り口あるなんて思わないじゃん??


結局すぐそこにある施設なのにすこし遅れて会場入りすることになった。

f:id:shiguderika:20190928145301j:plain
会場の早良市民センター

f:id:shiguderika:20190928145145j:plain
会場入口


使用構築

f:id:shiguderika:20190928145226j:plain

名前も分からないラーメン屋@こだわりハチマキ
勇敢HA調整


店の名前を調べるためにネットの海に潜ったら漂流しかけたお店(どこ調べても出てこないww)
せっかく福岡来たんだからとりあえずラーメン食べたいと思って寄った1軒目。
ラーメン+チャーハン+餃子の3種の神器を求めて入店したがどうやら取り扱ってないらしい。
写真の餃子セットはラーメン、揚げ餃子と、とにかく胃袋を満たすことを目的とした調整。
とにかく火力を重視し、一撃のロマンに全てを捧げる姿は、まさにラーメン界のケッキングを彷彿とさせる一品。


f:id:shiguderika:20191010190207j:plain
博多ラーメンめん吉@炎z
臆病HS調整


博多に行く時は必ず寄るラーメン屋。
ラーメンの美味さもさることながら、何よりの魅力はコストパフォーマンスにある。
写真の「めん吉セット」は820円でラーメン、明太ご飯、餃子が出てくるデブセット優れもの。
ラーメン単体のインパクトは決して強くない。
しかしそれを補う汎用性が高さ、痒いところに手が届き且つ、明太ご飯の瞬間火力がたまらない魅力の一品。


終わりに

初めての福岡オフは、予選抜けというそこそこ納得のいく結果を残すことができました。
神速オフ運営の皆様、対戦、会話していただいた皆様、個別に声をかけて頂いたケラマスさん
本当にありがとうございました!!

それでは次回、鉄輪オフでお会いしましょう。

第一回火の国オフ使用構築

f:id:shiguderika:20190917110404p:plain

全く勝てなかったのでメモ書き程度に

構築意図

自分のパーティの場合、バトンバシャーモを使う上で重くなってくるのが水特殊アタッカー+リザードンyである。
また、リザードンは2種類のメガ進化があるため、パーティ単位である程度推測する必要がある。

しかしここ最近リザードンの構築偽装をよく見かけるため、予測のみで選出を決めることに危機感を覚えた。
そこで水特殊に強く、リザードンが対面で必ず引かずに、確実に削り(or瀕死に持ち込める)の入れることができる”襷ナットレイ”を採用するところからスタートした。




ナットレイ@気合の襷

f:id:shiguderika:20190917114348g:plain

勇敢HA

タネマシンガン
ジャイロボール
大爆発
ステルスロック


ナットレイのメリット

ナットレイをパーティに採用することのメリットとして

  • 相手に水、電気などのナットレイに対して不利なタイプの選出を躊躇させ、バトンバシャーモを動かし安くする

などが挙げられる。

よってナットレイの役割としては

  • 襷を盾に強引にステロを撒く
  • 悠長な積みアタッカーを◯す
  • 水、電気タイプの先発を遠ざける

という点をメインに使用した。


ナットレイのデメリット

ナットレイのデメリットとして

  • HAナットレイなので耐久が乏しくそもそもの火力も中途半端なため、ボーマンダ等の威嚇を絡めた積みアタッカーに起点にされる

特にこのパターンの場合は、先発ボルトロスで控えにリザードンなどがいる場合に起こる事故である。
この場合はステロを撒くか爆発を選ぶかの択になるので、慎重に技を選ばなければならない。




パーティ単位の欠点

電気が重い



以上。

ナットレイ倒された瞬間、電位タイプを処理できないところがゴミ。
パルシェンの枠は大人しくマンムーにしましょう。


最後に

県外のオフに参加したのが初めてでしたが、非常に楽しかったです。
次回開催時も是非参加したいと思います。

運営の皆さま、ありがとうございました!!

USMシーズン15 〜レート2000達成!!就活限界バトンバシャ〜(最高201x・最終14xx)

f:id:shiguderika:20190624235751p:plain

はじめに

お疲れ様です。しぐれです。
s15が終わり、就活も落ち着いてきたため筆を取ろうと思った次第です。

就活が山場ということもありs15のシングルレートはやる気はありませんでしたが、いい感じに2000を達成する事ができました。
今期頑張ってくれたメンバーの紹介をしようと思います。


パーティ紹介

バシャーモ

f:id:shiguderika:20180515181708g:plain
持ち物:バシャーモナイト
特性:猛火→加速
性格:わんぱく
技構成:フレアドライブ ビルドアップ バトンタッチ 守る

僕たちのアイドル。
一般的な腕白HBSのバトン型。
HDS型にも興味があるため、後日それ用の色個体を厳選する予定。

テッカグヤ

f:id:shiguderika:20190625001226g:plain
持ち物:ピンチベリー
特性:ビーストブースト
性格:わんぱく
技構成:ヘビーボンバー やどりぎのタネ 守る 地震

ビルドを活かす耐久物理テッカグヤ
ヒードランあたりがめんどくさいので地震入れてみた型。
意外と通りが良くてGOOD

ポリゴンz

f:id:shiguderika:20190625001515g:plain
持ち物:ノーマルz
特性:適応力
性格:ひかえめ
技構成:10万ボルト れいとうビーム 自己再生 テクスチャー

テンプレポリz。
バトンからテクスチャー展開しても良し、素の状態から展開できるところも魅力的な点。
耐久は素の状態でマンダの捨て身耐え調整。
素早さはテクスチャーz後130族抜き調整。
火力が少し足りないこともあったので人によっては要調整。

カプ・レヒレ

f:id:shiguderika:20190625002206g:plain
持ち物:水z
特性:ミストメイカ
性格:ひかえめ
技構成:ハイドロポンプ ムーンフォース 凍える風 瞑想

ひかえめHBC調整。
ミミッキュを狩るためのこご風水z型。
最近はこご風後の水z耐え調整なるものも現れているため要検討かもしれない。
チョッキカプ・レヒレなる面白い型があるそうなので今後使ってみたい。

ポリゴン2

f:id:shiguderika:20190625003343g:plain
持ち物:しんかのきせき
特性:ダウンロード
性格:ひかえめ
技構成:放電 れいとうビーム 身代わり 自己再生

毒ガルド、ナットレイにもなんとか打ち勝てる身代わりポリゴン2。
前回から課題となっていたカバリザyとペリグドラ等の雨パへの解決策。
瞑想持ちに起点にされてしまう可能性を考えるとなかなか選出できなかった。
この枠だけは今後も要検討。

マンムー

f:id:shiguderika:20190625003924g:plain
持ち物:気合の襷
特性:あついしぼう
性格:いじっぱり
技構成:じしん つらら落とし がんせきふうじ こおりのつぶて

AS極振りマンムー
ステロで襷が潰れることも多いので、耐久型に変更した方がいいかもしれない。

終わりに

今期もバシャーモとレート2000にいけたことは非常に嬉しいです。
その反面、目標の2100には全く届かったため悔しくもありました。
第3回ボスラッシュでもバシャーモの使用率が圏外という悲しいお知らせもあったので、今期はボスラ出場&バシャーモ軸でボスラ内上位獲得を目標に頑張って行こうと思います。
s16もよろしくお願いします。