Tuesday, May 4, 2021

Edward Lance Lorilla

Edward Lance Lorilla


【VUE JS】Detecting an image 404 Show default image when image not found

Posted: 03 May 2021 08:26 AM PDT

【FLUTTER ANDROID STUDIO and IOS】Stream Radio

Posted: 03 May 2021 08:22 AM PDT

 import 'dart:async';


import 'package:flutter/material.dart';
import 'package:flutter_radio/flutter_radio.dart';

void main() {
runApp(MyApp());
}

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Radio',
home: RadioScreen(),
);
}
}

class RadioScreen extends StatefulWidget {
@override
_RadioScreenState createState() => _RadioScreenState();
}

class _RadioScreenState extends State<RadioScreen> {
String url = "http://server-23.stream-server.nl:8438";

bool isPlaying = false;
bool isVisible = true;

@override
void initState() {
super.initState();
audioStart();
}

Future<void> audioStart() async {
await FlutterRadio.audioStart();
print('Audio start playing');
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Radio App Demo"),
),
body: Center(
child: Container(
width: double.infinity,
color: Colors.blueGrey,
child: Column(
children: <Widget>[
Expanded(
flex: 7,
child: Icon(
Icons.radio,
color: Colors.white,
size: 150.0,
),
),
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
FloatingActionButton(
child: Icon(
Icons.stop,
color: Colors.pink,
),
onPressed: () {
FlutterRadio.stop();
},
),
Container(
width: 10.0,
),
FloatingActionButton(
child: isPlaying
? Icon(
Icons.pause,
color: Colors.white,
)
: Icon(
Icons.play_arrow,
color: Colors.white,
),
onPressed: () {
setState(() {
FlutterRadio.play(url: url);
isPlaying = !isPlaying;
isVisible = !isVisible;
});
}),
Container(
width: 10.0,
),
],
),
),
SizedBox(
height: 50,
)
],
),
),
),
);
}
}

【PYTHON OPENCV】Object detection OpenCV DNN module using MobileNet SSD and caffe pre trained models

Posted: 03 May 2021 08:18 AM PDT

 """

Object detection using OpenCV DNN module using MobileNet-SSD and caffe pre-trained models MobileNetSSD_deploy.caffemodel: https://drive.google.com/uc?export=download&id=0B3gersZ2cHIxRm5PMWRoTkdHdHc MobileNetSSD_deploy.prototxt https://raw.githubusercontent.com/chuanqi305/MobileNet-SSD/daef68a6c2f5fbb8c88404266aa28180646d17e0/MobileNetSSD_deploy.prototxt """ # Import required packages:import cv2from matplotlib import pyplot as plt def show_img_with_matplotlib(color_img, title, pos): """Shows an image using matplotlib capabilities""" img_RGB = color_img[:, :, ::-1] ax = plt.subplot(1, 1, pos) plt.imshow(img_RGB) plt.title(title) plt.axis('off') # Load the serialized caffe model from disk:net = cv2.dnn.readNetFromCaffe("MobileNetSSD_deploy.prototxt", "MobileNetSSD_deploy.caffemodel") # Load input image:image = cv2.imread("object_detection_test_image.png") # Prepare labels of the network (20 class labels + background):class_names = {0: 'background', 1: 'aeroplane', 2: 'bicycle', 3: 'bird', 4: 'boat', 5: 'bottle', 6: 'bus', 7: 'car', 8: 'cat', 9: 'chair', 10: 'cow', 11: 'diningtable', 12: 'dog', 13: 'horse', 14: 'motorbike', 15: 'person', 16: 'pottedplant', 17: 'sheep', 18: 'sofa', 19: 'train', 20: 'tvmonitor'} # Create the blob with a size of (300,300), mean subtraction values (127.5, 127.5, 127.5):# and also a scalefactor of 0.007843:blob = cv2.dnn.blobFromImage(image, 0.007843, (300, 300), (127.5, 127.5, 127.5))print(blob.shape) # Feed the input blob to the network, perform inference and ghe the output:net.setInput(blob)detections = net.forward() # Get inference time:t, _ = net.getPerfProfile()print('Inference time: %.2f ms' % (t * 1000.0 / cv2.getTickFrequency())) # Size of frame resize (300x300)dim = 300 # Process all detections:for i in range(detections.shape[2]): # Get the confidence of the prediction: confidence = detections[0, 0, i, 2] # Filter predictions by confidence: if confidence > 0.1: # Get the class label: class_id = int(detections[0, 0, i, 1]) # Get the coordinates of the object location: xLeftBottom = int(detections[0, 0, i, 3] * dim) yLeftBottom = int(detections[0, 0, i, 4] * dim) xRightTop = int(detections[0, 0, i, 5] * dim) yRightTop = int(detections[0, 0, i, 6] * dim) # Factor for scale to original size of frame heightFactor = image.shape[0] / dim widthFactor = image.shape[1] / dim # Scale object detection to frame xLeftBottom = int(widthFactor * xLeftBottom) yLeftBottom = int(heightFactor * yLeftBottom) xRightTop = int(widthFactor * xRightTop) yRightTop = int(heightFactor * yRightTop) # Draw rectangle: cv2.rectangle(image, (xLeftBottom, yLeftBottom), (xRightTop, yRightTop), (0, 255, 0), 2) # Draw label and confidence: if class_id in class_names: label = class_names[class_id] + ": " + str(confidence) labelSize, baseLine = cv2.getTextSize(label, cv2.FONT_HERSHEY_SIMPLEX, 1, 2) yLeftBottom = max(yLeftBottom, labelSize[1]) cv2.rectangle(image, (xLeftBottom, yLeftBottom - labelSize[1]), (xLeftBottom + labelSize[0], yLeftBottom + 0), (0, 255, 0), cv2.FILLED) cv2.putText(image, label, (xLeftBottom, yLeftBottom), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 0), 2) # Create the dimensions of the figure and set title:fig = plt.figure(figsize=(14, 8))plt.suptitle("Object detection using OpenCV DNN module and MobileNet-SSD", fontsize=14, fontweight='bold')fig.patch.set_facecolor('silver') # Show the output imageshow_img_with_matplotlib(image, "MobileNet-SSD for object detection", 1) # Show the Figure:plt.show()

【GAMEMAKER】Weapon control select weapon with mouse wheel

Posted: 03 May 2021 08:14 AM PDT

 Information about object: obj_player

Sprite: spr_idle_down
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask:
No Physics Object
Create Event:
execute code:

///set up
enum player_state {
idle,
up,
down,
left,
right
}

dir=player_state.down;
is_moving=false;
image_speed=0.5;
Step Event:
execute code:

///keypress code
if (keyboard_check(vk_left))
{
dir=player_state.left;
is_moving=true;
}
else
if (keyboard_check(vk_right))
{
dir=player_state.right;
is_moving=true;
}
else
if (keyboard_check(vk_up))
{
dir=player_state.up;
is_moving=true;
}
else
if (keyboard_check(vk_down))
{
dir=player_state.down;
is_moving=true;
}
else
{
is_moving=false;
}

execute code:

///movement
if is_moving
{
switch (dir)
{
case player_state.up:
y -= 4;
break;

case player_state.down:
y += 4;
break;

case player_state.left:
x -= 4;
break;

case player_state.right:
x += 4;
break;
}
}
execute code:

///animation
if is_moving
{
switch (dir)
{
case player_state.up:
sprite_index=spr_walk_up;
break;

case player_state.down:
sprite_index=spr_walk_down;
break;

case player_state.left:
sprite_index=spr_walk_left;
break;

case player_state.right:
sprite_index=spr_walk_right;
break;
}
}
else
{
switch (dir)
{
case player_state.up:
sprite_index=spr_idle_up;
break;

case player_state.down:
sprite_index=spr_idle_down;
break;

case player_state.left:
sprite_index=spr_idle_left;
break;

case player_state.right:
sprite_index=spr_idle_right;
break;
}
}

execute code:

///use weapon
if mouse_check_button_pressed(mb_left)
{
if global.weapon[global.selected,2]>0
{
audio_play_sound(global.weapon[global.selected,4],1,false);
global.weapon[global.selected,2]--;
}
else
audio_play_sound(snd_no_ammo,1,false);
}
Collision Event with object obj_hook_crate:
execute code:

global.weapon[1,2]+=10;
with (other) instance_destroy();
Collision Event with object obj_cutlass_crate:
execute code:

global.weapon[2,2]+=10;
with (other) instance_destroy();
Collision Event with object obj_gun_crate:
execute code:

global.weapon[3,2]+=10;
with (other) instance_destroy();

Information about object: obj_hook_crate
Sprite: spr_hook_crate
Solid: false
Visible: true
Depth:
0
Persistent: false
Parent:
Children:
Mask:

No Physics Object

Information about object: obj_cutlass_crate
Sprite: spr_cutlass_crate
Solid: false
Visible: true
Depth:
0
Persistent: false
Parent:
Children:
Mask:

No Physics Object

Information about object: obj_gun_crate
Sprite: spr_gun_crate
Solid: false
Visible: true
Depth:
0
Persistent: false
Parent:
Children:
Mask:

No Physics Object

Information about object: obj_hud
Sprite: spr_hud_bg
Solid: false
Visible: true
Depth:
0
Persistent: false
Parent:
Children:
Mask:

No Physics Object

Create Event:
execute code:

///set up, inc array to hold data
global.weapon[1,1]="HOOK";
global.weapon[1,2]=20;
global.weapon[1,3]=spr_hook_hud;
global.weapon[1,4]=snd_hook;

global.weapon[2,1]="CUTLASS";
global.weapon[2,2]=10;
global.weapon[2,3]=spr_cutlass_hud
global.weapon[2,4]=snd_cutlass;

global.weapon[3,1]="GUN";
global.weapon[3,2]=40;
global.weapon[3,3]=spr_gun_hud;
global.weapon[3,4]=snd_gun;

//set selected weapon
global.selected=1;

Step Event:
execute code:

///select weapon with mouse wheel
if mouse_wheel_up()
{
global.selected-=1;
if global.selected==0 global.selected=3;
}

if mouse_wheel_down()
{
global.selected+=1;
if global.selected==4 global.selected=1;
}
Draw Event:
execute code:

///comment to prevent default drawing
Draw GUI Event:
execute code:

///draw hud
//set alpha at 50%
draw_set_alpha(0.5);

draw_sprite(spr_hud_bg,0, 0,550);//background

//set up text
draw_set_font(drawing_font);
draw_set_halign(fa_center);
draw_set_valign(fa_middle);

//draw data
for (var loop = 1; loop < 4; loop += 1)
{
draw_text(200+100*loop,590,global.weapon[loop,1]);//name
draw_text(200+100*loop,650,global.weapon[loop,2]);//amount
draw_sprite(global.weapon[loop,3],0,200+100*loop,645);//sprite
//draw border if selected
if loop==global.selected draw_sprite(spr_show_selected,0,200+100*loop,645);
}


//reset alpha to normal
draw_set_alpha(1);

//info
draw_text(400,50,"Touch Crate To Pick Up#Middle Mouse Button Up / Down To Select#Left Mouse To Use");

device detection

Posted: 03 May 2021 05:55 AM PDT

var isMobile = false; //initiate as false

// device detection

if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) 

    || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) { 

    isMobile = true;

}





 

No comments:

Post a Comment